reactjs - 在 antd 日期选择器中禁用当前日期之前和当前日期 1 个月之后的日期
问题描述
我正在为我的反应应用程序使用 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
我可以禁用下个月的日期一样。
我的问题我无法返回这两个值。
如何禁用以前的日期和下个月的日期
解决方案
对于要禁用的日期,您需要它同时满足这两个条件。
当条件是:
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}
/>
推荐阅读
- ios - 在 UIWebView 中显示“.doc”和“.docx”
- javascript - 猫鼬,快递返回一个空数组
- c# - 使用 WebView 在我的跨平台 xamarin 应用程序中显示本地页面 html
- curl - 为什么 CURL --data-urlencode 不进行 URL 编码
- excel - 在 VBA 中串联后删除单元格
- bash - 这个Linux命令是什么意思?
- android - 在模块 glide-4.3.1-runtime.jar 中找到重复的类 com.bumptech.glide.ListPreloader
- class - Magento 2 Checkout - 装运方法部分中的动态填充下拉列表
- r - R中单个统计量的Wald检验
- c++ - 使用 VisualStudio 进行跨平台 C++ 开发