2021-06-09 12:18:52 +08:00
|
|
|
|
---
|
|
|
|
|
order: 7
|
2021-11-12 11:46:42 +08:00
|
|
|
|
version: 4.17.0
|
2021-06-09 12:18:52 +08:00
|
|
|
|
title:
|
|
|
|
|
zh-CN: 基于 Promise 的异步关闭
|
|
|
|
|
en-US: Asynchronously close on Promise
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## zh-CN
|
|
|
|
|
|
|
|
|
|
点击确定后异步关闭 Popconfirm,例如提交表单。
|
|
|
|
|
|
|
|
|
|
## en-US
|
|
|
|
|
|
|
|
|
|
Asynchronously close a popconfirm when the OK button is pressed. For example, you can use this pattern when you submit a form.
|
|
|
|
|
|
2022-05-19 09:46:26 +08:00
|
|
|
|
```tsx
|
2021-06-09 12:18:52 +08:00
|
|
|
|
import { Button, Popconfirm } from 'antd';
|
2022-05-21 22:14:15 +08:00
|
|
|
|
import React from 'react';
|
2021-06-09 12:18:52 +08:00
|
|
|
|
|
2022-05-19 09:46:26 +08:00
|
|
|
|
const App: React.FC = () => {
|
2021-06-09 12:18:52 +08:00
|
|
|
|
const confirm = () =>
|
|
|
|
|
new Promise(resolve => {
|
2022-05-19 09:46:26 +08:00
|
|
|
|
setTimeout(() => resolve(null), 3000);
|
2021-06-09 12:18:52 +08:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<Popconfirm
|
|
|
|
|
title="Title"
|
|
|
|
|
onConfirm={confirm}
|
|
|
|
|
onVisibleChange={() => console.log('visible change')}
|
|
|
|
|
>
|
|
|
|
|
<Button type="primary">Open Popconfirm with Promise</Button>
|
|
|
|
|
</Popconfirm>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
2022-04-15 16:20:56 +08:00
|
|
|
|
export default App;
|
2021-06-09 12:18:52 +08:00
|
|
|
|
```
|