diff --git a/common/changes/@visactor/vtable/refactor-computeColsWidth_api_call_time_2025-04-09-06-31.json b/common/changes/@visactor/vtable/refactor-computeColsWidth_api_call_time_2025-04-09-06-31.json new file mode 100644 index 0000000000..3a47be852c --- /dev/null +++ b/common/changes/@visactor/vtable/refactor-computeColsWidth_api_call_time_2025-04-09-06-31.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "fix: repeat call computeColsWidth adaptive mode result error\n\n", + "type": "none", + "packageName": "@visactor/vtable" + } + ], + "packageName": "@visactor/vtable", + "email": "892739385@qq.com" +} \ No newline at end of file diff --git a/packages/vtable/src/scenegraph/group-creater/progress/create-group-for-first-screen.ts b/packages/vtable/src/scenegraph/group-creater/progress/create-group-for-first-screen.ts index b305114724..a601651e39 100644 --- a/packages/vtable/src/scenegraph/group-creater/progress/create-group-for-first-screen.ts +++ b/packages/vtable/src/scenegraph/group-creater/progress/create-group-for-first-screen.ts @@ -66,11 +66,15 @@ export function createGroupForFirstScreen( if (distCol < table.colCount - table.rightFrozenColCount) { // compute right frozen row height - computeColsWidth(table, table.colCount - table.rightFrozenColCount, table.colCount - 1); + if (table.colCount - table.rightFrozenColCount <= table.colCount - 1) { + computeColsWidth(table, table.colCount - table.rightFrozenColCount, table.colCount - 1); + } } if (distRow < table.rowCount - table.bottomFrozenRowCount) { // compute bottom frozen row height - computeRowsHeight(table, table.rowCount - table.bottomFrozenRowCount, table.rowCount - 1); + if (table.rowCount - table.bottomFrozenRowCount <= table.rowCount - 1) { + computeRowsHeight(table, table.rowCount - table.bottomFrozenRowCount, table.rowCount - 1); + } } // update colHeaderGroup rowHeaderGroup bodyGroup position diff --git a/packages/vtable/src/scenegraph/group-creater/progress/proxy.ts b/packages/vtable/src/scenegraph/group-creater/progress/proxy.ts index c39dc285e7..e6949a3a17 100644 --- a/packages/vtable/src/scenegraph/group-creater/progress/proxy.ts +++ b/packages/vtable/src/scenegraph/group-creater/progress/proxy.ts @@ -392,7 +392,9 @@ export class SceneProxy { createColGroup(onceCount: number) { // compute rows height const endCol = Math.min(this.totalCol, this.currentCol + onceCount); - computeColsWidth(this.table, this.currentCol + 1, endCol); + if (this.table.widthMode !== 'adaptive') { + computeColsWidth(this.table, this.currentCol + 1, endCol); + } this.colEnd = endCol; @@ -693,7 +695,9 @@ export class SceneProxy { // colGroup.needUpdate = false; // } // } - computeColsWidth(this.table, this.colUpdatePos, distCol); + if (this.table.widthMode === 'autoWidth') { + computeColsWidth(this.table, this.colUpdatePos, distCol); + } updateColContent(this.colUpdatePos, distCol, this); this.colUpdatePos = distCol + 1; }