From 7d07e98e760d82dc992bcdba89fded0c0c3f49ee Mon Sep 17 00:00:00 2001 From: rookie4show Date: Tue, 8 Jul 2025 17:42:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=81=E4=B9=85=E5=8C=96=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 9 ++-- src/components/flow/FlowEditor.vue | 16 +------ src/ts/useStore.ts | 77 ++++++++++++++++-------------- 3 files changed, 49 insertions(+), 53 deletions(-) diff --git a/src/App.vue b/src/App.vue index 9b3d174..2e026ee 100644 --- a/src/App.vue +++ b/src/App.vue @@ -14,7 +14,7 @@ import { useVueFlow } from '@vue-flow/core'; import DialogManager from './components/DialogManager.vue'; const filesStore = useFilesStore(); -const { updateNode } = useVueFlow(); +const { updateNode,toObject,fromObject } = useVueFlow(); const width = ref('100%'); const height = ref('100vh'); @@ -100,6 +100,7 @@ watch( if (oldVal && flowEditorRef.value && flowEditorRef.value.getViewport) { const viewport = flowEditorRef.value.getViewport(); filesStore.updateFileViewport(oldVal, viewport); + filesStore.updateFileFlowData(oldVal, toObject()); } lastActiveFile.value = newVal; } @@ -135,9 +136,9 @@ watch( diff --git a/src/components/flow/FlowEditor.vue b/src/components/flow/FlowEditor.vue index 8c5d77c..5810db9 100644 --- a/src/components/flow/FlowEditor.vue +++ b/src/components/flow/FlowEditor.vue @@ -189,18 +189,6 @@ onUnmounted(() => { const lastActiveFile = ref(filesStore.activeFile); const flowEditorRef = ref(); - -watch( - () => filesStore.activeFile, - (newVal, oldVal) => { - // 切换前保存旧 tab 的 viewport - if (oldVal && flowEditorRef.value && flowEditorRef.value.getViewport) { - const viewport = flowEditorRef.value.getViewport(); - filesStore.updateFileViewport(oldVal, viewport); - } - lastActiveFile.value = newVal; - } -);