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.

58 lines
1.5 KiB

# 自定义页脚
- order: 2
更复杂的例子,自定义了页脚的按钮,点击提交后进入 loading 状态,完成后关闭。
---
````jsx
var Modal = antd.Modal;
var Test = React.createClass({
getInitialState: function() {
return {
10 years ago
loading: false,
10 years ago
visible: false
};
},
showModal() {
10 years ago
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 className="ant-btn ant-btn-primary" onClick={this.showModal}>
显示对话框
</button>
10 years ago
<Modal ref="modal"
visible={this.state.visible}
title="对话框标题" onOk={this.handleOk} onCancel={this.handleCancel}
footer={[
10 years ago
<button key="back" className="ant-btn" onClick={this.handleCancel}>返 回</button>,
<button key="submit" className="ant-btn ant-btn-primary" onClick={this.handleOk}>
提 交
<i className={'anticon anticon-loading'+(this.state.loading?'':'hide')}></i>
</button>
]}>
<p>对话框的内容</p>
10 years ago
<p>对话框的内容</p>
<p>对话框的内容</p>
<p>对话框的内容</p>
<p>对话框的内容</p>
</Modal>
</div>;
}
});
React.render(<Test/> , document.getElementById('components-modal-demo-footer'));
````