From dc25f8c26d489d4c53d18bdc14aa0bc87d054e8f Mon Sep 17 00:00:00 2001 From: wisonic Date: Tue, 25 Feb 2025 16:57:49 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=9B=BE=E8=A1=A8):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E5=88=86=E7=BB=84=E8=A1=A8=E5=A4=B4=E5=A4=8D?= =?UTF-8?q?=E5=88=B6=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/components/js/panel/common/common_table.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/core-frontend/src/views/chart/components/js/panel/common/common_table.ts b/core/core-frontend/src/views/chart/components/js/panel/common/common_table.ts index 30f002605e..e5622be952 100644 --- a/core/core-frontend/src/views/chart/components/js/panel/common/common_table.ts +++ b/core/core-frontend/src/views/chart/components/js/panel/common/common_table.ts @@ -1056,6 +1056,14 @@ export function copyContent(s2Instance: SpreadSheet, event, fieldMeta) { if (!cells?.length) { return } + if (cells.length === 1) { + const curCell = cells[0] + if (cell.getMeta().id === curCell.id) { + copyString(cellMeta.value + '', true) + } + s2Instance.interaction.clearState() + return + } const brushSelection = s2Instance.interaction.interactions.get( InteractionName.BRUSH_SELECTION ) as DataCellBrushSelection @@ -1091,7 +1099,7 @@ export function copyContent(s2Instance: SpreadSheet, event, fieldMeta) { arr.forEach((cell, index) => { const cellMeta = cell.getMeta() const value = cellMeta.data?.[cellMeta.valueField] - const metaObj = find(fieldMeta, m => m.field === valueField) + const metaObj = find(fieldMeta, m => m.field === cellMeta.valueField) let fieldVal = value?.toString() if (metaObj) { fieldVal = metaObj.formatter(value) @@ -1487,7 +1495,7 @@ export function configMergeCells(chart: Chart, options: S2Options, dataConfig: S p[n.dataeaseName] = n return p }, {}) || {} - const quotaIndex = dataConfig.meta.findIndex(m => fieldsMap[m.field].groupType === 'q') + const quotaIndex = dataConfig.meta.findIndex(m => fieldsMap[m.field]?.groupType === 'q') const data = chart.data?.tableRow if (quotaIndex === 0 || !data?.length) { return