ant-design DatePicker.RangePicker disabled=[false, true] 会默认填充一个结束时间,造成开始时间无法选择未来时间

atmip9wb  于 7个月前  发布在  其他
关注(0)|答案(6)|浏览(56)

Steps to reproduce

<RangePicker disabled={[false, true]} />

What is expected?

开始时间可以选择未来时间

What is actually happening?

只能选到今天
| Environment | Info |
| ------------ | ------------ |
| antd | 5.12.4 |
| React | ^18.0.0 |
| System | macOS 12.5 |
| Browser | chrome 120.0.6099.109 |

添加 disabledDate={(_) => false} 属性也不行,请问有什么解决方案吗?

qyzbxkaa

qyzbxkaa1#

antd的行为是没有问题的,这是个区间的问题。你问题的是有啥场景吗?为啥是前面一个选择未来时间,如果是设置默认时间的话可以使用 defaultValue

dgtucam1

dgtucam12#

antd的行为是没有问题的,这是个区间的问题。你问题的是有啥场景吗?为啥是前面一个选择未来时间,如果是设置默认时间的话可以使用 defaultValue

场景是身份证有效期是有起始、结束时间,但是有些身份证的结束时间是长期的那种,所以我想通过一个控件完成,如果是长期就禁用结束时间,我又怕起始时间有未来时间的选择需求,难道这种情况只能开始时间和结束时间分开而不能用RangePicker吗?

30byixjq

30byixjq3#

还有一点就是,如果没有默认值,这个禁用一边不应该默认是空值或者undefined吗?为什么要设置成当天日期呢

a2mppw5e

a2mppw5e4#

受控或者提供 defaultValue , disabled 需要提供时间

dly7yett

dly7yett5#

受控或者提供 defaultValue , disabled 需要提供时间

<RangePicker
  defaultValue={[undefined, null]}
  disabledDate={(_) => false}
  disabled={[false, true]}
/>

我加了defaultValue,可以选择任意开始时间了, 但是选择后出现了新的问题,没有填充到控件里。
不知道是不是沟通出现了偏差,我不理解为什么要设置默认时间?因为我的场景不需要默认时间啊

6kkfgxo0

6kkfgxo06#

这个确实有点奇怪。 @zombieJ 重构版本里一起考虑一下。

相关问题