我在模态对话框中显示表格数据,当我点击表格行来编辑数据时,它将打开另一个模态对话框,这里我通过使用componentWillMount()
内的点击行ID来获取行数据。但是当我关闭编辑模态对话框并尝试编辑其他表格行componentWillMount()
时不会调用。所以编辑模态对话框为空。为什么componentWillMount
每次都不打电话?
答案 0 :(得分:0)
作为Nir H already mentioned,Dialog
组件仅安装到dom中一次,然后在关闭它之后,变为不可见(通过将左侧位置更改为-10000px)但仍然存在于DOM内。 / p>
很明显,componentWillMount
和componentDidMount
方法只会调用一次。如果您希望每次都打开具有不同选项的Dialog
组件,您可以执行以下操作:
Dialog
组件实例: ref={instance => {this.RowDialog = instance}}
handleOpen
方法打开Dialog: onRowClick = (event) => {
this.RowDialog.handleOpen();
}
答案 1 :(得分:0)
我使用了以下步骤来修复它。
{(this.state.open) ? <Dialog open={true} ></Dialog> : null
componentWillUnmount() { }