可能原因:
-
清空操作没有按照
RangePicker组件的要求来进行,比如直接设置了value为null或[]。 -
使用了
RangePicker的onChange事件处理函数不正确,没有正确更新组件的状态。
解决方法:
-
确保使用
RangePicker组件的value属性时,始终传递数组,即使要清空日期也要传递[],而不是null。 -
在
onChange事件处理函数中,当用户清空日期时,更新value为[]。
javascript
import React, { useState } from 'react';
import { DatePicker } from 'antd';
const { RangePicker } = DatePicker;
const MyComponent = () => {
const [dateRange, setDateRange] = useState([]); // 初始化为空数组
const handleDateChange = (dates, dateStrings) => {
// 当用户清空日期时,dates 和 dateStrings 都会是 undefined
if (!dates) {
setDateRange([]); // 清空日期
} else {
setDateRange(dates); // 更新日期范围
}
};
return (
<RangePicker value={dateRange} onChange={handleDateChange} />
);
};
export default MyComponent;