Material-UI DateTimePicker禁用minDate时的类型错误解决方案咨询
解决方法
不用复制组件,你可以通过条件控制属性是否传递的方式来实现需求,这里有两种可行的写法:
写法一:对象展开语法(最稳妥)
<DateTimePicker autoOk ampm={false} showToolbar={false} {...(props.disabledMin ? { minDate: moment() } : {})} />
当props.disabledMin为true时,会展开包含minDate的对象,相当于传入该属性;为false时展开空对象,完全不传递minDate,自然就不会触发类型错误,也达到了禁用该限制的效果。
写法二:传递undefined值
<DateTimePicker autoOk ampm={false} showToolbar={false} minDate={props.disabledMin ? moment() : undefined} />
多数UI组件库(比如Material-UI的DateTimePicker)会在属性值为undefined时自动忽略该限制。如果组件的类型定义允许minDate接受undefined,这种写法会更简洁。要是还报类型错误,就优先用第一种写法。
内容的提问来源于stack exchange,提问作者user11092881
相关产品推荐
相关产品推荐

