reactjs - AntD Range Picker关闭Range Picker后如何调用API?
问题描述
我想在选定日期并关闭范围选择器后进行 API 调用。我有以下代码。但是当它总是在所选日期更新之前调用 API 时。
<div>
Select date range to proceed : <Space />
<RangePicker
format="YYYY-MM-DD"
onChange={onChange}
onOpenChange={onClose}
disabledDate={(currentDate) => currentDate.isAfter(moment())}
/>
</div>
调用函数
function onChange(value, dateString) {
console.log(dateString);
setSelectedDates(dateString); }
function onClose(open) {
if (!open) {
// API Call with selected date
}
}
解决方案
遗憾的是,无法在 RangePicker 的 Ant Design Api 上找到任何优雅的东西。但这将起作用并在任何面板关闭并设置日期时调用 api。
const App = () => {
const [values, setValues] = useState([]);
const [isOpen, setIsOpen] = useState(false);
useEffect(() => {
if (!isOpen && values && values[0] && values[1]) {
console.log("API");
}
}, [values, isOpen]);
const onChange = (moments, dateStrings) => {
setValues(dateStrings);
console.log(dateStrings);
};
const onOpenChange = (open) => {
setIsOpen(open);
console.log(open);
};
return (
<div>
<RangePicker
format="YYYY-MM-DD"
onChange={onChange}
onOpenChange={onOpenChange}
/>
</div>
);
};
推荐阅读
- arrays - 数组中只出现第一张图像?
- azure - 需要 POI 类别搜索说明
- python - 将数学运算应用于列表中的数据帧的正确语法?
- vb.net - 从文本文件修复区分大小写搜索?
- javascript - Javascript Regex 问题在引号内返回内容
- google-sheets - 如何在谷歌表格中禁用或隐藏“获取此单元格的链接”
- python - 带有 datetime64[ns] 轴的 Matplotlib 多色线
- python - 返回 jsonify(dictionary) 后屏幕上什么也没有显示
- google-sheets - 动态开始和结束日期 Google 表格
- python - numpy 数组索引:在整个行/列上应用条件