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); };