mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-03 00:09:39 +08:00
84 lines
1.9 KiB
Markdown
84 lines
1.9 KiB
Markdown
---
|
|
order: 2
|
|
title:
|
|
zh-CN: 自定义页脚
|
|
en-US: Customized Footer
|
|
---
|
|
|
|
## zh-CN
|
|
|
|
更复杂的例子,自定义了页脚的按钮,点击提交后进入 loading 状态,完成后关闭。
|
|
|
|
不需要默认确定取消按钮时,你可以把 `footer` 设为 `null`。
|
|
|
|
## en-US
|
|
|
|
A more complex example which define a customized footer button bar. The dialog will change to loading state after clicking the submit button, and when the loading is done, the modal dialog will be closed.
|
|
|
|
You could set `footer` to `null` if you don't need default footer buttons.
|
|
|
|
```tsx
|
|
import { Button, Modal } from 'antd';
|
|
import React, { useState } from 'react';
|
|
|
|
const App: React.FC = () => {
|
|
const [loading, setLoading] = useState(false);
|
|
const [visible, setVisible] = useState(false);
|
|
|
|
const showModal = () => {
|
|
setVisible(true);
|
|
};
|
|
|
|
const handleOk = () => {
|
|
setLoading(true);
|
|
setTimeout(() => {
|
|
setLoading(false);
|
|
setVisible(false);
|
|
}, 3000);
|
|
};
|
|
|
|
const handleCancel = () => {
|
|
setVisible(false);
|
|
};
|
|
|
|
return (
|
|
<>
|
|
<Button type="primary" onClick={showModal}>
|
|
Open Modal with customized footer
|
|
</Button>
|
|
<Modal
|
|
visible={visible}
|
|
title="Title"
|
|
onOk={handleOk}
|
|
onCancel={handleCancel}
|
|
footer={[
|
|
<Button key="back" onClick={handleCancel}>
|
|
Return
|
|
</Button>,
|
|
<Button key="submit" type="primary" loading={loading} onClick={handleOk}>
|
|
Submit
|
|
</Button>,
|
|
<Button
|
|
key="link"
|
|
href="https://google.com"
|
|
type="primary"
|
|
loading={loading}
|
|
onClick={handleOk}
|
|
>
|
|
Search on Google
|
|
</Button>,
|
|
]}
|
|
>
|
|
<p>Some contents...</p>
|
|
<p>Some contents...</p>
|
|
<p>Some contents...</p>
|
|
<p>Some contents...</p>
|
|
<p>Some contents...</p>
|
|
</Modal>
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default App;
|
|
```
|