ant-design/components/popconfirm/demo/async.md
Tom Xu 35e9475e4e
docs(popconfirm): add async demo (#27513)
* docs(popconfirm): add async demo

* hooks

* Update async.md
2020-11-04 09:05:46 +08:00

1.2 KiB

order title
5
zh-CN en-US
异步关闭 Asynchronously close

zh-CN

点击确定后异步关闭气泡确认框,例如提交表单。

en-US

Asynchronously close a popconfirm when a the OK button is pressed. For example, you can use this pattern when you submit a form.

import { Popconfirm, Button } from 'antd';

const App = () => {
  const [visible, setVisible] = React.useState(false);
  const [confirmLoading, setConfirmLoading] = React.useState(false);

  const showPopconfirm = () => {
    setVisible(true);
  };

  const handleOk = () => {
    setConfirmLoading(true);
    setTimeout(() => {
      setVisible(false);
      setConfirmLoading(false);
    }, 2000);
  };

  const handleCancel = () => {
    console.log('Clicked cancel button');
    setVisible(false);
  };

  return (
    <>
      <Popconfirm
        title="Title"
        visible={visible}
        onConfirm={handleOk}
        okButtonProps={{ loading: confirmLoading }}
        onCancel={handleCancel}
      >
        <Button type="primary" onClick={showPopconfirm}>
          Open Popconfirm with async logic
        </Button>
      </Popconfirm>
    </>
  );
};

ReactDOM.render(<App />, mountNode);