Browse Source

Pull request #257797: BI-138976 fix: 计算高度

Merge in DEC/fineui from ~KOBI/fineui-decision:final/11.0 to final/11.0

* commit 'fd728117a276e3a7d99790629b3811686aff9f34':
  BI-138976 fix: 在init中计算
  BI-138976 fix: 计算高度
research/test
Kobi-蒋科斌 1 year ago
parent
commit
319122b1d0
  1. 20
      packages/fineui/src/base/list/virtualgrouplist.js

20
packages/fineui/src/base/list/virtualgrouplist.js

@ -25,6 +25,7 @@ export class VirtualGroupList extends Widget {
}
init() {
this._calculateSummaryHeight();
this.renderedIndex = -1;
}
@ -44,7 +45,7 @@ export class VirtualGroupList extends Widget {
},
{
type: VirtualGroup.xtype,
height: rowHeight * items.length,
height: this.summaryHeight,
ref: (ref) => {
this.container = ref;
},
@ -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);

Loading…
Cancel
Save