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 @@