react+antd日期选择限制
1.开发环境 react
2.电脑系统 windows11专业版
3.在开发的过程中,我们可能会需要时间限制,下面我来分享一下方法,希望对你有所帮助。
4.废话不多说,直接上代码:
{
dateTypeValue =https://www.it610.com/article/= 2 ? {
setDateTime(dateStrings)
}} onCalendarChange={(val) => setDateTimeValue(val)}allowClear={false} getPopupContainer={triggerNode => triggerNode.parentElement} value=https://www.it610.com/article/{dateTimeValue} disabledDate={month_disabledDate} onOpenChange={onOpenChange} /> :
{
setDateTime(dateStrings)
}} allowClear={false} onCalendarChange={(val) => setDateTimeValue(val)} getPopupContainer={triggerNode => triggerNode.parentElement} value=https://www.it610.com/article/{dateTimeValue} disabledDate={day_disabledDate} onOpenChange={onOpenChange}/>
}
// 注意:这里是通过 dateTypeValue的值来判断展示 月日期 还是 具体日 日期
const [dateTimeValue,setDateTimeValue] = useState(null);
/* 日期禁用 处理 */
const month_disabledDate = (current) => {
if (!dateTimeValue) {
return false;
}const tooLate = dateTimeValue[0] && current.diff(dateTimeValue[0], 'months') > 11;
const tooEarly = dateTimeValue[1] && dateTimeValue[1].diff(current, 'months') > 11;
return !!tooEarly || !!tooLate;
};
const day_disabledDate = (current)=>{
if (!dateTimeValue) {
return false;
}const tooLate = dateTimeValue[0] && current.diff(dateTimeValue[0], 'days') > 30;
const tooEarly = dateTimeValue[1] && dateTimeValue[1].diff(current, 'days') > 30;
return !!tooEarly || !!tooLate;
}const onOpenChange = (open) => {
if (open) {
setDateTimeValue([null, null]);
}
};
5.关键代码:
onCalendarChange={(val) => setDateTimeValue(val)}
value=https://www.it610.com/article/{dateTimeValue}
disabledDate={month_disabledDate}
onOpenChange={onOpenChange}
6.月效果如下:
文章图片
7.日效果如下:
文章图片
8.扩展:
const DisabledDate = (current) => {
// // 限制为前后一周
// return current < moment().subtract(7, "days") || current > moment().add(7, 'days')
// 限制为前后一周
// return current < moment().subtract(1, "weeks") || current > moment().add(1, 'weeks')
// 限制为前后一月
// return current < moment().subtract(1, "months") || current > moment().add(1, 'months')
// 限制为前后一年
// return current < moment().subtract(1, "years") || current > moment().add(1, 'years')// // 限制为前后12月
return current < moment().subtract(12, "months") || current > moment().add(12, 'months')
}
【react+antd日期选择限制】9.本期的分享到了这里就结束啦,希望对你有所帮助,让我们一起努力走向巅峰。
推荐阅读
- #+|Java控制语句
- C++|C++——类和对象3|日期类型|Cout运算符重载|Cin运算符重载|const成员|
- python基础技能|python入门之时间处理日期库
- mybatis|mybatis日期查询的坑(具体查询某一天的数据,数据库中能查询到结果,但是mybatis中却查询不到)
- 星号选择器*的优先级问题
- Python入门系列(八)日期时间、数学、json
- Qt|Qt获取机器当前日期-时间
- sklearn|数据挖掘的五大流程、sklearn中常用的模块介绍、数据预处理、特征选择(过滤法+Embedded嵌入法+Wrapper包装法)
- 一嗨租车,再见。
- 前端|css基础总结(css简介、css语法框架、css样式表格式、css选择器)