diff --git a/packages/editor/src/services/editor.ts b/packages/editor/src/services/editor.ts index 5c3606a7..5460d805 100644 --- a/packages/editor/src/services/editor.ts +++ b/packages/editor/src/services/editor.ts @@ -664,7 +664,8 @@ class Editor extends BaseService { await stage.select(targetId); - await stage.update({ config: cloneDeep(target), parentId: parent.id, root }); + const targetParent = this.getParentById(target.id); + await stage.update({ config: cloneDeep(target), parentId: targetParent?.id, root }); await this.select(newConfig); stage.select(newConfig.id); diff --git a/packages/stage/src/types.ts b/packages/stage/src/types.ts index b983726e..bcaf008c 100644 --- a/packages/stage/src/types.ts +++ b/packages/stage/src/types.ts @@ -119,7 +119,7 @@ export interface SortEventData { export interface UpdateData { config: MNode; parent?: MContainer; - parentId: Id; + parentId?: Id; root: MApp; }