2015-06-12 17:37:39 +08:00
|
|
|
# 自定义页脚
|
|
|
|
|
|
|
|
- order: 2
|
|
|
|
|
2015-06-12 17:44:29 +08:00
|
|
|
更复杂的例子,自定义了页脚的按钮,点击提交后进入 loading 状态,完成后关闭。
|
2015-06-12 17:37:39 +08:00
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
````jsx
|
|
|
|
var Modal = antd.Modal;
|
|
|
|
|
|
|
|
var Test = React.createClass({
|
|
|
|
getInitialState: function() {
|
|
|
|
return {
|
2015-06-12 23:31:44 +08:00
|
|
|
loading: false,
|
2015-06-14 13:20:35 +08:00
|
|
|
visible: false
|
2015-06-12 17:37:39 +08:00
|
|
|
};
|
|
|
|
},
|
2015-08-17 23:42:52 +08:00
|
|
|
showModal(e) {
|
|
|
|
this.setState({ visible: true,mousePosition:{x:e.pageX,y:e.pageY} });
|
2015-06-12 17:37:39 +08:00
|
|
|
},
|
|
|
|
handleOk() {
|
2015-06-12 17:44:29 +08:00
|
|
|
this.setState({ loading: true });
|
2015-06-12 17:37:39 +08:00
|
|
|
setTimeout(()=> {
|
2015-06-15 21:30:17 +08:00
|
|
|
this.setState({ loading: false, visible: false });
|
2015-06-12 17:37:39 +08:00
|
|
|
}, 3000);
|
|
|
|
},
|
|
|
|
handleCancel() {
|
2015-06-15 21:30:17 +08:00
|
|
|
this.setState({ visible: false });
|
2015-06-12 17:37:39 +08:00
|
|
|
},
|
|
|
|
render() {
|
|
|
|
return <div>
|
|
|
|
<button className="ant-btn ant-btn-primary" onClick={this.showModal}>
|
|
|
|
显示对话框
|
|
|
|
</button>
|
2015-06-12 23:31:44 +08:00
|
|
|
<Modal ref="modal"
|
|
|
|
visible={this.state.visible}
|
2015-08-17 23:42:52 +08:00
|
|
|
mousePosition={this.state.mousePosition}
|
2015-06-12 23:31:44 +08:00
|
|
|
title="对话框标题" onOk={this.handleOk} onCancel={this.handleCancel}
|
2015-06-12 17:37:39 +08:00
|
|
|
footer={[
|
2015-08-14 14:35:15 +08:00
|
|
|
<button key="back" className="ant-btn ant-btn-lg" onClick={this.handleCancel}>返 回</button>,
|
|
|
|
<button key="submit" className="ant-btn ant-btn-primary ant-btn-lg" onClick={this.handleOk}>
|
2015-06-12 17:44:29 +08:00
|
|
|
提 交
|
|
|
|
<i className={'anticon anticon-loading'+(this.state.loading?'':'hide')}></i>
|
2015-06-12 17:37:39 +08:00
|
|
|
</button>
|
|
|
|
]}>
|
|
|
|
<p>对话框的内容</p>
|
2015-06-15 21:30:17 +08:00
|
|
|
<p>对话框的内容</p>
|
|
|
|
<p>对话框的内容</p>
|
|
|
|
<p>对话框的内容</p>
|
|
|
|
<p>对话框的内容</p>
|
2015-06-12 17:37:39 +08:00
|
|
|
</Modal>
|
|
|
|
</div>;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
React.render(<Test/> , document.getElementById('components-modal-demo-footer'));
|
|
|
|
````
|