From b879f06750f865a83fb435b3eb2a24c628ce9a4e Mon Sep 17 00:00:00 2001 From: Tieptk Date: Thu, 22 Aug 2024 16:42:25 +0700 Subject: [PATCH] node --- src/App.tsx | 10 +++++++++- src/nodes/NoteFlow.tsx | 16 +++++++++------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index bc26322..556394a 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -4,7 +4,7 @@ import { addEdge, applyEdgeChanges, applyNodeChanges, - Background + Background, } from '@xyflow/react'; import '@xyflow/react/dist/style.css'; @@ -107,6 +107,13 @@ function Flow() { [setEdges], ); + const onNodesDelete = useCallback((deletedNodes) => { + console.log('Các node đã bị xóa:', deletedNodes); + + // Lọc lại danh sách nodes sau khi xóa + setNodes((nds) => nds.filter((node) => !deletedNodes.some((deletedNode) => deletedNode.id === node.id))); + }, []); + return ( diff --git a/src/nodes/NoteFlow.tsx b/src/nodes/NoteFlow.tsx index 638fc6e..a2af228 100644 --- a/src/nodes/NoteFlow.tsx +++ b/src/nodes/NoteFlow.tsx @@ -70,7 +70,7 @@ const tabBarOptions = [ }, ]; -// Nội dung cho mỗi node +// Nội dung popup cho mỗi node const nodeContents = { '2': ` @@ -199,14 +199,18 @@ const NoteFlow = () => { const hideenPopup = () => { setShowPopup(false); - console.log('hide') } const onConnect = (params) => setEdges((eds) => addEdge(params, eds)); + const handleNodeDelete = (nodesToDelete) => { + setNodes((nds) => nds.filter((node) => !nodesToDelete.some((n) => n.id === node.id))); + setEdges((eds) => eds.filter((edge) => !nodesToDelete.some((n) => n.id === edge.source || n.id === edge.target))); + }; + return (
- + @@ -269,7 +273,7 @@ const NoteFlow = () => { )} {showPopup && ( <> - +
@@ -288,6 +292,4 @@ const NoteFlow = () => { ); }; -export default NoteFlow; - - +export default NoteFlow; \ No newline at end of file