From 2a547dca1e11670822a72eff9134d2286b32dc97 Mon Sep 17 00:00:00 2001 From: Kobi Date: Thu, 23 Nov 2023 09:53:20 +0800 Subject: [PATCH] =?UTF-8?q?BI-138976=20fix:=20=E8=AE=A1=E7=AE=97=E9=AB=98?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fineui/src/base/list/virtualgrouplist.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/fineui/src/base/list/virtualgrouplist.js b/packages/fineui/src/base/list/virtualgrouplist.js index e2e0d5ddf..143c867fa 100644 --- a/packages/fineui/src/base/list/virtualgrouplist.js +++ b/packages/fineui/src/base/list/virtualgrouplist.js @@ -77,6 +77,7 @@ export class VirtualGroupList extends Widget { this.populate(newValue); }) : o.items; + this._calculateSummaryHeight(); this._populate(); this.ticking = false; this.element.scroll(() => { @@ -169,6 +170,16 @@ export class VirtualGroupList extends Widget { ); } } + + _calculateSummaryHeight() { + const o = this.options; + if (isFunction(o.rowHeight)) { + this.summaryHeight = sum(o.items, o.rowHeight); + } else { + this.summaryHeight = this._isAutoHeight() ? 0 : o.rowHeight * o.items.length; + } + } + _populate(items) { const { blockSize, rowHeight, scrollTop } = this.options; if (items && this.options.items !== items) { @@ -198,13 +209,8 @@ export class VirtualGroupList extends Widget { } _restore() { - const o = this.options; this.renderedIndex = -1; - if (isFunction(o.rowHeight)) { - this.summaryHeight = sum(o.items, o.rowHeight); - } else { - this.summaryHeight = this._isAutoHeight() ? 0 : o.rowHeight * o.items.length; - } + this._calculateSummaryHeight(); // 依赖于cache的占位元素也要初始化 this.topBlank.setHeight(0); this.bottomBlank.setHeight(0);