zul*_*ain 3 date datepicker reactjs antd
我正在为我的 React 应用程序使用 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}
/>
Run Code Online (Sandbox Code Playgroud)
在这里,如果我return moment().add(-1, 'days') >= current那么它从今天的日期开始禁用以前的日期,但它不会在日期之后禁用一个月。
就像return moment().add(1, 'month') <= current我可以禁用下个月的日期一样。
我的问题我无法返回这两个值。
如何禁用以前的日期和下个月的日期
要禁用日期,您需要它运行这两个条件。
当条件是:
moment().add(-1, 'days') >= current && moment().add(1, 'month') <= current;
Run Code Online (Sandbox Code Playgroud)
当第一个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}
/>
Run Code Online (Sandbox Code Playgroud)
要在当前日期之前和当前日期 1 个月之后禁用,以下是代码。
disabledSubmissionDate = (submissionValue) => {
if (!submissionValue) {
return false;
}
return (submissionValue.valueOf() < Date.now()) || (submissionValue.valueOf() >= moment().add(1, 'month'));
}
<DatePicker disabledDate={this.disabledSubmissionDate} onChange=this.SubmissionDateOnChange} />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4069 次 |
| 最近记录: |