From 240dfefb079b49d1f4fde64b0db0a7bc52cb46fc Mon Sep 17 00:00:00 2001 From: shizhongming Date: Mon, 6 Jan 2025 10:26:13 +0800 Subject: [PATCH] =?UTF-8?q?perf(=E6=80=A7=E8=83=BD=E4=BC=98=E5=8C=96):=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=BB=9A=E5=8A=A8=E6=80=A7=E8=83=BD=EF=BC=88?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E5=88=97/=E6=95=B0=E6=8D=AE=E7=9B=B8?= =?UTF-8?q?=E5=AF=B9=E8=BE=83=E5=A4=9A=EF=BC=8C=E4=BD=86=E6=98=AF=E6=9C=AA?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E8=99=9A=E6=8B=9F=E5=88=97=E8=A1=A8=E7=9A=84?= =?UTF-8?q?=E6=83=85=E5=86=B5=E4=B8=8B=E4=BC=9A=E4=BA=A7=E7=94=9F=E6=80=A7?= =?UTF-8?q?=E8=83=BD=E9=97=AE=E9=A2=98=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/table/src/table.ts | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/packages/table/src/table.ts b/packages/table/src/table.ts index 16c0eedf3a..c769959636 100644 --- a/packages/table/src/table.ts +++ b/packages/table/src/table.ts @@ -2710,7 +2710,14 @@ export default defineComponent({ colRest.$index = $index } }) - reactData.tableColumn = tableColumn + if (reactData.tableColumn.length !== tableColumn.length) { + reactData.tableColumn = tableColumn + } else { + const columnIds = new Set(reactData.tableColumn.map(item => item.id)) + if (!tableColumn.map(item => item.id).every(id => columnIds.has(id))) { + reactData.tableColumn = tableColumn + } + } } const handleUpdateColumn = () => { @@ -6376,7 +6383,16 @@ export default defineComponent({ rest.$index = $index } }) - reactData.tableData = tableData + if (tableData.length !== reactData.tableData.length) { + reactData.tableData = tableData + } else { + const reactDataIds = new Set(reactData.tableData.map(row => getRowid($xeTable, row))) + if ( + !tableData.map(row => getRowid($xeTable, row)).every(rowid => reactDataIds.has(rowid)) + ) { + reactData.tableData = tableData + } + } return nextTick() }, /**