mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-16 01:29:11 +08:00
48 lines
1.1 KiB
Markdown
48 lines
1.1 KiB
Markdown
---
|
|
order: 8
|
|
title:
|
|
zh-CN: 销毁确认对话框
|
|
en-US: destroy confirmation modal dialog
|
|
---
|
|
|
|
## zh-CN
|
|
|
|
使用 `Modal.destroyAll()` 可以销毁弹出的确认窗。通常用于路由监听当中,处理路由前进、后退不能销毁确认对话框的问题。
|
|
|
|
## en-US
|
|
|
|
`Modal.destroyAll()` will destroy all confirmation modal dialogs. Usually, you can use it in router change event to destroy confirm modal dialog automatically.
|
|
|
|
```tsx
|
|
import { ExclamationCircleOutlined } from '@ant-design/icons';
|
|
import { Button, Modal } from 'antd';
|
|
import React from 'react';
|
|
|
|
const { confirm } = Modal;
|
|
|
|
const destroyAll = () => {
|
|
Modal.destroyAll();
|
|
};
|
|
|
|
const showConfirm = () => {
|
|
for (let i = 0; i < 3; i += 1) {
|
|
setTimeout(() => {
|
|
confirm({
|
|
icon: <ExclamationCircleOutlined />,
|
|
content: <Button onClick={destroyAll}>Click to destroy all</Button>,
|
|
onOk() {
|
|
console.log('OK');
|
|
},
|
|
onCancel() {
|
|
console.log('Cancel');
|
|
},
|
|
});
|
|
}, i * 500);
|
|
}
|
|
};
|
|
|
|
const App: React.FC = () => <Button onClick={showConfirm}>Confirm</Button>;
|
|
|
|
export default App;
|
|
```
|