1.代码
<Modal
width={1200}
maskClosable={false}
title="返修单确认"
keyboard={false}
open={show}
footer={false}
onCancel={returnModal}
>
<EditableProTable actionRef={actionRef} value={dataSource} ></EditableProTable>
</Modal>
打开弹窗后,编辑表格中的数据,关闭弹窗,再打开弹窗发现输入框的数据还在
即使执行了以下的重置操作,数据也还在
setSelectedRows([]);
setDataSource([]);
setEditableRowKeys([]);
actionRef.current?.reloadAndRest();
实际上关闭弹窗,子组件是一直没有销毁的,也就是EditableProTable 输入框 会一直保存其状态,当然也包括它的数据,所以为了完全销毁组件可以modal上加个属性,也可以给modal加个key,每次打开的时换一个不同的key
2.修复
<Modal destroyOnClose
width={1200}
maskClosable={false}
title="返修单确认"
keyboard={false}
open={show}
footer={false}
onCancel={returnModal}
>
<EditableProTable actionRef={actionRef} value={dataSource} ></EditableProTable>
</Modal>