ant-design/components/modal/demo/footer.md

59 lines
1.6 KiB
Markdown
Raw Normal View History

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'));
````