diff --git a/src/components/flow/ComponentsPanel.vue b/src/components/flow/ComponentsPanel.vue index 99d23be..3268cc3 100644 --- a/src/components/flow/ComponentsPanel.vue +++ b/src/components/flow/ComponentsPanel.vue @@ -1,8 +1,6 @@ @@ -140,17 +141,12 @@ const handleComponentClick = (component) => { >
{{ group.title }}
-
diff --git a/src/components/flow/FlowEditor.vue b/src/components/flow/FlowEditor.vue index 68672d9..705f4f9 100644 --- a/src/components/flow/FlowEditor.vue +++ b/src/components/flow/FlowEditor.vue @@ -32,7 +32,8 @@ import PropertySelectNode from './nodes/yys/PropertySelectNode.vue'; // import ImageNode from './nodes/common/ImageNode.vue'; // import TextNode from './nodes/common/TextNode.vue'; import PropertyPanel from './PropertyPanel.vue'; -import {useFilesStore} from "@/ts/useStore"; +import { useFilesStore } from "@/ts/useStore"; +import { setLogicFlowInstance, destroyLogicFlowInstance } from '@/ts/useLogicFlow'; const props = defineProps<{ nodes: any[]; @@ -74,7 +75,7 @@ onMounted(() => { }); registerNodes(lf.value); renderFlow(); - filesStore.setLogicFlowInstance(lf.value); + setLogicFlowInstance(lf.value); // 监听节点点击事件,更新 selectedNode lf.value.on(EventType.NODE_CLICK, ({ data }) => { @@ -88,18 +89,16 @@ onMounted(() => { // 节点属性改变,如果当前节点是选中节点,则同步更新 selectedNode lf.value.on(EventType.NODE_PROPERTIES_CHANGE, (data) => { - const nodeId = data.id || (data.value && data.value.id); - if (selectedNode.value && nodeId === selectedNode.value.id) { - if (data.value) { - selectedNode.value = data.value; - } else if (data.properties) { - selectedNode.value = { - ...selectedNode.value, - properties: data.properties - }; + const nodeId = data.id; + if (selectedNode.value && nodeId === selectedNode.value.id) { + if (data.properties) { + selectedNode.value = { + ...selectedNode.value, + properties: data.properties + }; + } } - } -}); + }); // 右键事件 lf.value.on('node:contextmenu', handleNodeContextMenu); @@ -110,6 +109,7 @@ onMounted(() => { onBeforeUnmount(() => { lf.value?.destroy(); lf.value = null; + destroyLogicFlowInstance(); }); // 响应式更新 nodes/edges diff --git a/src/components/flow/PropertyPanel.vue b/src/components/flow/PropertyPanel.vue index bae29ef..18e1451 100644 --- a/src/components/flow/PropertyPanel.vue +++ b/src/components/flow/PropertyPanel.vue @@ -1,38 +1,31 @@