You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MUI KeyboardDatePicker打开时如何避免自动选中minDate?

解决方案

要实现仅禁用minDate之前的日期、同时保留初始的releaseDate(即使它早于minDate),可以放弃使用minDate属性,改用shouldDisableDate手动控制日期禁用逻辑——这是MUI内置的解决方案,无需编写自定义渲染函数。

修改后的组件代码如下:

<KeyboardDatePicker
  shouldDisableDate={(date) => date < minDate}
  name="releaseDate"
  value={releaseDate}
  type="date"
  onChange={onDateChange}
  autoOk
  onBlur={onBlurDateTime}
  placeholder="dd-mmm-yyyy"
/>

原理说明

  • 原minDate属性会触发组件内部的自动值校正逻辑:当当前value小于minDate时,组件会强制将值重置为minDate。
  • 使用shouldDisableDate回调函数,仅会在日期选择器弹窗中禁用不符合条件的日期(此处为早于minDate的日期),但不会修改已有的releaseDate值,完全匹配需求。

内容的提问来源于stack exchange,提问作者vlad udod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 16:55:27