我在我的React App中使用ant UI,那里有一个日期选择器。我想禁用当前日期之前和当前日期1个月之后的日期。
我的日期选择器
<DatePicker
defaultValue={moment()}
format={dateFormat}
className="datePicker"
onChange={dateHandler}
ref={(dateSelect) => { this.dateSelect = dateSelect }}
disabledDate={(current) => {
return moment().add(-1, 'days') >= current &&
moment().add(1, 'month') <= current;
}}
onFocus={this.rideDateGA}
/>
在这里,如果我return moment().add(-1, 'days') >= current
,则禁用今天的前一个日期,但不禁用日期后的一个月。
就像我return moment().add(1, 'month') <= current
一样,然后我可以禁用下个月的日期。
我的问题我无法同时返回两个值。
如何禁用上一个日期和下个月的日期
答案 0 :(得分:2)
要在当前日期之前和当前日期1个月之后禁用,以下为代码。
@locker
答案 1 :(得分:1)
要禁用日期,您需要它同时满足这两个条件。
条件是:
moment().add(-1, 'days') >= current && moment().add(1, 'month') <= current;
当第一个moment().add(-1, 'days') >= current
为false
时,条件返回false,这就是为什么您看到正确禁用当前日期之前的日期的原因。
要使条件正确,您需要:
<DatePicker
defaultValue={moment()}
format={dateFormat}
className="datePicker"
onChange={dateHandler}
ref={(dateSelect) => { this.dateSelect = dateSelect }}
disabledDate={(current) => {
return moment().add(-1, 'days') >= current ||
moment().add(1, 'month') <= current;
}}
onFocus={this.rideDateGA}
/>