lowcode-engine
lowcode-engine copied to clipboard
history.back/forward无法还原modal-node的hidden属性,导致模态框(对话框)中编辑后redo/undo失效问题
在Modal模态框节点中编辑子组件后,redo/undo无法正常撤销和还原
查看源码发现在DocumentModel中,通过importSchema的方式来实现redo/undo,会重建ModalNodesManager。 导致Modal节点的hidden属性被重置(即使schema中的hidden是false)。
所以在编辑Modal节点中编辑子组件后,redo/undo会导致Modal隐藏。 用户想要查看redo/undo是否生效,会再次点开Modal。此时会打乱history的records,无法使用redo/undo。
请问这个问题,有没有好的规避方法?
复现步骤
1、打开Antd组件官方Demo:https://lowcode-engine.cn/demo/demo-basic-antd/index.html
2、拖入“反馈>普通型”Modal组件。
3、在Modal内,拖入“主按钮”组件。
4、键盘操作“undo”,或者点击头部“撤销”按钮。Modal隐藏。
5、大纲树中点击Modal,打开检查,“主按钮”组件被删除。
6、键盘操作“redo”,或者点击头部“恢复”按钮。Modal依旧隐藏,“主按钮”组件不会恢复。