You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.4 KiB

---
order: 2
title: 自定义页脚
---
更复杂的例子,自定义了页脚的按钮,点击提交后进入 loading 状态,完成后关闭。
````jsx
import { Modal, Button } from 'antd';
const Test = React.createClass({
getInitialState() {
return {
10 years ago
loading: false,
10 years ago
visible: false
};
},
showModal() {
this.setState({
visible: true
});
},
handleOk() {
this.setState({ loading: true });
setTimeout(() => {
10 years ago
this.setState({ loading: false, visible: false });
}, 3000);
},
handleCancel() {
10 years ago
this.setState({ visible: false });
},
render() {
return (
<div>
<Button type="primary" onClick={this.showModal}>
显示对话框
</Button>
<Modal ref="modal"
visible={this.state.visible}
title="对话框标题" onOk={this.handleOk} onCancel={this.handleCancel}
footer={[
<Button key="back" type="ghost" size="large" onClick={this.handleCancel}>返 回</Button>,
<Button key="submit" type="primary" size="large" loading={this.state.loading} onClick={this.handleOk}>
提 交
</Button>
]}>
<p>对话框的内容</p>
<p>对话框的内容</p>
<p>对话框的内容</p>
<p>对话框的内容</p>
<p>对话框的内容</p>
</Modal>
</div>
);
}
});
ReactDOM.render(<Test />, mountNode);
````