From cfc57f17af8c7b32ca31056570aa422219963d04 Mon Sep 17 00:00:00 2001 From: roymondchen Date: Tue, 13 Dec 2022 15:32:13 +0800 Subject: [PATCH] =?UTF-8?q?fix(editor):=20=E7=BB=84=E4=BB=B6=E9=94=80?= =?UTF-8?q?=E6=AF=81=E6=97=B6=E7=A7=BB=E9=99=A4service=E7=9A=84=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E7=9B=91=E5=90=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor/src/Editor.vue | 8 ++++++-- packages/editor/src/layouts/PropsPanel.vue | 6 +++++- .../editor/src/layouts/sidebar/LayerPanel.vue | 16 ++++++++++------ packages/editor/src/services/BaseService.ts | 8 ++++++-- 4 files changed, 27 insertions(+), 11 deletions(-) diff --git a/packages/editor/src/Editor.vue b/packages/editor/src/Editor.vue index 6fc125f6..53ed643f 100644 --- a/packages/editor/src/Editor.vue +++ b/packages/editor/src/Editor.vue @@ -227,7 +227,7 @@ export default defineComponent({ emits: ['props-panel-mounted', 'update:modelValue'], setup(props, { emit }) { - editorService.on('root-change', (value, preValue) => { + const rootChangeHandler = (value: MApp, preValue?: MApp | null) => { const nodeId = editorService.get('node')?.id || props.defaultSelected; let node; if (nodeId) { @@ -247,7 +247,9 @@ export default defineComponent({ if (toRaw(value) !== toRaw(preValue)) { emit('update:modelValue', value); } - }); + }; + + editorService.on('root-change', rootChangeHandler); // 初始值变化,重新设置节点信息 watch( @@ -326,6 +328,8 @@ export default defineComponent({ uiService.resetState(); componentListService.resetState(); codeBlockService.resetState(); + + editorService.off('root-change', rootChangeHandler); }); const services: Services = { diff --git a/packages/editor/src/layouts/PropsPanel.vue b/packages/editor/src/layouts/PropsPanel.vue index 06d03109..75b12625 100644 --- a/packages/editor/src/layouts/PropsPanel.vue +++ b/packages/editor/src/layouts/PropsPanel.vue @@ -14,7 +14,7 @@