diff --git a/packages/vtable/src/core/BaseTable.ts b/packages/vtable/src/core/BaseTable.ts index c6394d566..c1c081e55 100644 --- a/packages/vtable/src/core/BaseTable.ts +++ b/packages/vtable/src/core/BaseTable.ts @@ -524,11 +524,7 @@ export abstract class BaseTable extends EventTarget implements BaseTableAPI { * 注意 这个值和options.frozenColCount 不一样!options.frozenColCount是用户实际设置的; 这里获取的值是调整过:frozen的列过宽时 frozeCount为0 */ get frozenColCount(): number { - let frozenColCount = this.internalProps.layoutMap?.frozenColCount ?? this.internalProps.frozenColCount ?? 0; - if (!this.internalProps.transpose && frozenColCount >= this.colCount) { - frozenColCount = 0; - } - return frozenColCount; + return this.internalProps.layoutMap?.frozenColCount ?? this.internalProps.frozenColCount ?? 0; } /** * Set the number of frozen columns. diff --git a/packages/vtable/src/state/state.ts b/packages/vtable/src/state/state.ts index 1ce6bfbae..767261b2d 100644 --- a/packages/vtable/src/state/state.ts +++ b/packages/vtable/src/state/state.ts @@ -762,7 +762,7 @@ export class StateManager { checkFrozen(): boolean { // 判断固定列的总宽度 是否过大 - const originalFrozenColCount = + let originalFrozenColCount = this.table.isListTable() && !this.table.internalProps.transpose ? this.table.options.frozenColCount : this.table.isPivotChart() @@ -772,6 +772,9 @@ export class StateManager { this.table.options.frozenColCount ?? 0 ); if (originalFrozenColCount) { + if (originalFrozenColCount > this.table.colCount) { + originalFrozenColCount = this.table.colCount; + } if (this.table.tableNoFrameWidth - this.table.getColsWidth(0, originalFrozenColCount - 1) <= 120) { this.table._setFrozenColCount(0); this.setFrozenCol(-1);