From bf75a44faf68d2e0591af9d76d12d30deb950a8f Mon Sep 17 00:00:00 2001 From: wpxp123456 <2677556700@qq.com> Date: Thu, 15 Jan 2026 15:42:47 +0800 Subject: [PATCH] fix(copy): fix copy id (#6469) --- .../__tests__/clipboard-copy-with-default-style.spec.ts | 2 +- .../sheets-ui/src/services/clipboard/clipboard.service.ts | 6 ++---- .../src/services/clipboard/usm-to-html/convertor.ts | 5 +++-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/sheets-ui/src/services/clipboard/__tests__/clipboard-copy-with-default-style.spec.ts b/packages/sheets-ui/src/services/clipboard/__tests__/clipboard-copy-with-default-style.spec.ts index c48264148b..bfa1054e5c 100644 --- a/packages/sheets-ui/src/services/clipboard/__tests__/clipboard-copy-with-default-style.spec.ts +++ b/packages/sheets-ui/src/services/clipboard/__tests__/clipboard-copy-with-default-style.spec.ts @@ -150,7 +150,7 @@ describe('Test clipboard', () => { })).toBeTruthy(); const { html, copyId } = sheetClipboardService.generateCopyContent('test', 'sheet1', selection.range)!; - const result = ` + const result = `
1
2
3
4
`; expect(html).toBe(result); }); diff --git a/packages/sheets-ui/src/services/clipboard/clipboard.service.ts b/packages/sheets-ui/src/services/clipboard/clipboard.service.ts index e07689a8cf..ab4cbb8c7d 100644 --- a/packages/sheets-ui/src/services/clipboard/clipboard.service.ts +++ b/packages/sheets-ui/src/services/clipboard/clipboard.service.ts @@ -495,11 +495,9 @@ export class SheetClipboardService extends Disposable implements ISheetClipboard } // convert matrix to html - let html = this._usmToHtml.convert(matrix, discreteRange, hooks); - - const plain = getMatrixPlainText(plainMatrix); const copyId = genId(); - html = html.replace(/(<[a-z]+)/, (_p0, p1) => `${p1} data-copy-id="${copyId}"`); + const html = this._usmToHtml.convert(matrix, discreteRange, hooks, copyId); + const plain = getMatrixPlainText(plainMatrix); return { copyId, diff --git a/packages/sheets-ui/src/services/clipboard/usm-to-html/convertor.ts b/packages/sheets-ui/src/services/clipboard/usm-to-html/convertor.ts index 2264428daf..62041135df 100644 --- a/packages/sheets-ui/src/services/clipboard/usm-to-html/convertor.ts +++ b/packages/sheets-ui/src/services/clipboard/usm-to-html/convertor.ts @@ -121,7 +121,8 @@ export class USMToHtmlService { } >, range: IDiscreteRange, - hooks: ISheetClipboardHook[] + hooks: ISheetClipboardHook[], + copyId?: string ): string { const { cols, rows } = range; if (!cols.length) { @@ -135,7 +136,7 @@ export class USMToHtmlService { rowContents.push(getRowContent(row, cols, hooks, matrix, mergeSet)); }); - const html = `${colStyles} + const html = `
${colStyles} ${rowContents.join('')}
`; return html; }