【问题标题】:How to call API after the Range Picker is closed in AntD Range Picker?AntD Range Picker关闭Range Picker后如何调用API?
【发布时间】:2021-05-25 19:11:03
【问题描述】:

我想在选定日期并关闭范围选择器后进行 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
  }   

}

【问题讨论】:

    标签: reactjs antd daterangepicker


    【解决方案1】:

    遗憾的是,无法在 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>
      );
    };
    

    【讨论】:

    • 太棒了。这是最好的解决方案。谢谢
    • 很好解决:D
    猜你喜欢
    • 2021-05-21
    • 1970-01-01
    • 2020-08-01
    • 2011-11-03
    • 2021-11-13
    • 2019-07-10
    • 1970-01-01
    • 2012-06-30
    • 2020-12-03
    相关资源
    最近更新 更多