From eced9e27b4ed8ef8b5cac9a4e49271af53fb7ce4 Mon Sep 17 00:00:00 2001 From: ZLY Date: Tue, 14 Oct 2025 15:27:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(flowEditor):=20=E5=85=B3=E9=97=AD=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E7=BC=96=E8=BE=91=E6=A8=A1=E6=80=81=E6=A1=86=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在节点删除、复制、编辑操作后关闭编辑模态框 - 在添加节点操作后关闭编辑模态框 - 更新节点上下文菜单组件属性定义 -优化上下文菜单操作后的模态框关闭逻辑 --- src/pages/flowEditor/FlowEditorMain.tsx | 4 ++++ src/pages/flowEditor/components/nodeContextMenu.tsx | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/pages/flowEditor/FlowEditorMain.tsx b/src/pages/flowEditor/FlowEditorMain.tsx index 2c27956..093ade5 100644 --- a/src/pages/flowEditor/FlowEditorMain.tsx +++ b/src/pages/flowEditor/FlowEditorMain.tsx @@ -184,6 +184,7 @@ const FlowEditorMain: React.FC = (props) => { snapGrid={[2, 2]} onNodesDelete={(deleted) => { setNodes((nds) => nds.filter((n) => !deleted.find((d) => d.id === n.id))); + setIsEditModalOpen(false); }} onNodesChange={onNodesChange} onEdgesChange={onEdgesChange} @@ -255,6 +256,7 @@ const FlowEditorMain: React.FC = (props) => { onEdit={editNode} onCopy={copyNode} onCloseMenu={setMenu} + onCloseOpenModal={setIsEditModalOpen} /> )} @@ -275,6 +277,7 @@ const FlowEditorMain: React.FC = (props) => { onEdit={editEdge} onAddNode={(edge) => { setEdgeForNodeAdd(edge); + setIsEditModalOpen(false); setMenu(null); // 关闭上下文菜单 }} /> @@ -295,6 +298,7 @@ const FlowEditorMain: React.FC = (props) => { position={menu.position!} onAddNode={(nodeType: string, position: { x: number, y: number }, node: any) => { addNodeOnPane(nodeType, position, node); + setIsEditModalOpen(false); setMenu(null); // 关闭上下文菜单 }} /> diff --git a/src/pages/flowEditor/components/nodeContextMenu.tsx b/src/pages/flowEditor/components/nodeContextMenu.tsx index 78c963e..b41ea2e 100644 --- a/src/pages/flowEditor/components/nodeContextMenu.tsx +++ b/src/pages/flowEditor/components/nodeContextMenu.tsx @@ -9,6 +9,7 @@ interface NodeContextMenuProps { onCopy?: (node: Node) => void; onEdit?: (node: Node) => void; onCloseMenu?: (data: React.Dispatch>) => void; + onCloseOpenModal?: (boolean: boolean) => void; } const NodeContextMenu: React.FC = ({ @@ -16,20 +17,24 @@ const NodeContextMenu: React.FC = ({ onDelete, onCopy, onEdit, - onCloseMenu + onCloseMenu, + onCloseOpenModal }) => { const handleDelete = () => { onDelete && onDelete(node); + onCloseOpenModal(false); onCloseMenu(null); }; const handleCopy = () => { onCopy && onCopy(node); + onCloseOpenModal(false); onCloseMenu(null); }; const handleEdit = () => { onEdit && onEdit(node); + onCloseOpenModal(false); onCloseMenu(null); };