实现可选值范围31天内,默认值为当月第一天到当前日期,参数是格式为YYYY-MM-DD HH:mm:ss
可选值选择范围可以根据自己需要定义 formConfigs[item.range]
<RangePicker
style={{ width: '100%' }}
allowClear={false}//不可清除
onSelect={(valueString, value) => {
setFormConfigs({
...formConfigs,
[item.timeDates]: value//禁止选择默认区间
});
}}
defaultValue={[//显示的默认值
formConfigs[item.startValueName],//开始日期
formConfigs[item.endValueName],//结束日期
]}
onVisibleChange={(visible) => {
if (!visible) {
setFormConfigs({
...formConfigs,
[item.timeDates]: [],//清空禁选默认区间
});
}
}}
onChange={(dateString) => {
setFormConfigs({
...formConfigs,
[item.startValueName]: dateString[0] + ' 00:00:00',
[item.endValueName]: dateString[1] + ' 23:59:59',
});
}}
disabledDate={(current) => {
//formConfigs[item.timeDates]//默认范围区间
//formConfigs[item.range] 可选天数范围值
if (formConfigs[item.timeDates] && formConfigs[item.timeDates].length) {
const tooLate = formConfigs[item.timeDates][0] && Math.abs(current.diff(formConfigs[item.timeDates][0], 'day')) > formConfigs[item.range];//当前选择时间的前可选天数范围
const tooEarly = formConfigs[item.timeDates][1] && Math.abs(formConfigs[item.timeDates][1].diff(current, 'day')) > formConfigs[item.range];//当前选择时间的后可选天数范围
return tooEarly || tooLate;
}
return false;
}}
clearRangeOnReselect
/>