diff --git a/packages/designer/src/document/document-model.ts b/packages/designer/src/document/document-model.ts index 9521fef38..edca8fd81 100644 --- a/packages/designer/src/document/document-model.ts +++ b/packages/designer/src/document/document-model.ts @@ -74,7 +74,6 @@ export interface IDocumentModel extends Omit void) { + this.designer.editor.eventBus.on('node.add', fn as any); + + return () => { + this.designer.editor.eventBus.off('node.add', fn as any); + }; + } + /** * 根据 schema 创建一个节点 */ diff --git a/packages/shell/src/model/document-model.ts b/packages/shell/src/model/document-model.ts index 2c5c7b632..bd0ccaf75 100644 --- a/packages/shell/src/model/document-model.ts +++ b/packages/shell/src/model/document-model.ts @@ -252,10 +252,11 @@ export class DocumentModel implements IPublicModelDocumentModel { * 当前 document 新增节点事件,此时节点已经挂载到 document 上 */ onMountNode(fn: (payload: { node: IPublicModelNode }) => void): IPublicTypeDisposable { - this[editorSymbol].eventBus.on('node.add', fn as any); - return () => { - this[editorSymbol].eventBus.off('node.add', fn as any); - }; + return this[documentSymbol].onMountNode(({ + node, + }) => { + fn({ node: ShellNode.create(node)! }); + }); } /**