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
相关产品推荐
相关产品推荐

