diff --git a/packages/editor/src/services/editor.ts b/packages/editor/src/services/editor.ts index 5460d805..112d937c 100644 --- a/packages/editor/src/services/editor.ts +++ b/packages/editor/src/services/editor.ts @@ -71,6 +71,7 @@ class Editor extends BaseService { 'sort', 'copy', 'paste', + 'doPaste', 'duAlignCenter', 'alignCenter', 'moveLayer', @@ -556,11 +557,16 @@ class Editor extends BaseService { if (!Array.isArray(config)) return; - const pasteConfigs = await beforePaste(position, config); + const pasteConfigs = await this.doPaste(config, position); return this.add(pasteConfigs); } + public async doPaste(config: MNode[], position: PastePosition = {}): Promise { + const pasteConfigs = await beforePaste(position, cloneDeep(config)); + return pasteConfigs; + } + public async doAlignCenter(config: MNode): Promise { const parent = this.getParentById(config.id);