大家好,我偶然发现prime ng treeTable的延迟加载选项存在一些问题。我需要使用lazyLoad事件(输出属性“ onLazyLoad”)而没有虚拟滚动条行为。 treeTable组件以某种方式支持此功能吗?
类似这样的东西:
<p-treeTable [value]="virtualFiles" [columns]="cols" [scrollable]="true" [rows]="20"
[virtualRowHeight]="34" [lazy]="true" (onLazyLoad)="loadNodes($event)"
[totalRecords]="totalRecords" scrollHeight="400px">
</p-treeTable>
如果没有虚拟滚动条就无法使用延迟加载,那么至少可以阻止它破坏先前加载的Elements也是可以的。
我已经尝试将rows-property设置为values-array的长度,以防止在向上滚动时获取更多数据。
如果有人可以帮助我,那将很棒。
答案 0 :(得分:1)
在我看来,虚拟滚动是分页的一种替代方法。
它如何工作?
从我的角度来看,虚拟滚动依赖于基于[virtualRowHeight]="34"
和[rows]="20"
的计算,然后计算要加载的数据的所需大小。因此,有必要预先定义[virtualRowHeight]
和[rows]
,以确保数据虚拟化的正常运行,正确项目的加载和呈现。
因此,当您处理许多行时,必须使用[virtualScroll]="true"