[英]Change Ag-Grid infinite scroll block size?
当使用的行模型为“无限”并且设置了数据源时,有没有办法更改块大小?
即当数据源的getRows()
被调用时,有没有办法设置startRow
和/或endRow
? 默认行为是一次获取 100 行,这会导致我的空白行,因为我一次只有大约 12 行新数据行无限滚动。 因此,当getRows()
被触发时,当最初只有 45 个数据点时,它会尝试获取第 100 到 200 行(例如)。 为了补偿它添加了一堆空白行。
我尝试了以下两个额外的网格选项但没有成功:
cacheOverflowSize: 2
infiniteInitialRowCount: 32
一次获取 100 行而不是 12 行解决了这个问题,但我确实宁愿不这样做(由于我正在开发的产品的一些设计限制)。
感谢@kamil-kubicki 的评论。 cacheBlockSize
确实是我想要的。 尽管如此,它并没有解决我的整个问题,所以我将在下面概述我的完整解决方案。
我将 ag-grid 的行高设置为默认的最大25px
。 这意味着在加载时,当它填充初始数据时,它接近呈现我的 32 个项目的整个初始数据集。 在滚动时, getRows()
然后会查找总数据集合边界之外的行,因此它添加了空白行。
我将每次滚动加载的数据结果数量更改为 50。这相对较大,但它现在可以工作并且性能良好,所以我想我会保留它。
对于有类似问题的人:
使用cacheBlockSize
在gridOptions
确保你的 ag-grid 没有渲染任何接近你完整的初始数据集合的东西(例如,如果你的集合是 32 个项目,不要渲染超过 16 个项目的任何东西 - 通过更改行的高度和大小来控制它你的网格)
将滚动时加载到您的集合中的数据项更改为更大的数字; 可以比用户滚动速度更快地填充数据的东西。 对我来说是 50。对你来说可能更多,也可能更少。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.