需求:
- 可选今日之前的时间
- 开始和结束时间区间不能超过30天
代码:
dom部分
<RangePicker
allowClear
disabledDate={disabledDate}
format='YYYY-MM-DD'
placeholder={[ '起始日期', '结束日期' ]}
onCalendarChange={onDateChange}
onOpenChange={onOpenChange}
/>
js部分
const [ selectDate, setSelectDate ] = useState(null)
// 只能选昨天之前的时间
const disabledDate = (current) => {
// 昨天之前的时间可选择
let bol = current && current > moment().subtract(1, 'days')
if (selectDate) {
// 时间区间为30天
const dateRange30 = Math.abs(current.diff(selectDate, 'days')) > 30
return dateRange30 || bol
} else {
return bol
}
}
const onOpenChange = (open) => {
if (open) {
setSelectDate(null)
}
}
const onDateChange = (date) => {
setSelectDate(date[0])
}