Modal组件自带的visible属性只能控制Modal的显示与否,无法真正销毁Modal。
要想真正销毁Modal我们可以不控制Modal的visible属性,转而控制Modal这个组件的有无。
首先,定义一个控制Modal有无的状态:
this.state = {
destroy:true //设一开始为不显示状态
}
通过此状态来判断是否生成Modal组件
{
this.state.destroy
? ''
: <Modal className="cjy-rcm-modal" title={this.oprt} footer={null} visible={this.state.visible} onOk={this.handleOk} onCancel={this.handleCancel}>
<ReAddScoreOption itemData={this.state.itemData} handleCancel={this.handleCancel} submitData={this.submitData}/>
</Modal>
}
显示:
this.setState({
destroy:false
});
销毁:
this.setState({
destroy:true
});
ps:新版本的ant design已经增加这一功能啦,即destroyOnClose属性