【发布时间】:2018-05-11 23:52:03
【问题描述】:
我的服务返回 300 行,但在 DOM 中,我在一个实例中只看到 20-30 行,并且在滚动替换顶部的行时添加其余行
我希望所有行只用页面加载(调用服务)初始化一次,所有行都从我的服务调用返回,然后我可以滚动,因此只处理 300 行的静态数据
【问题讨论】:
标签: ag-grid
我的服务返回 300 行,但在 DOM 中,我在一个实例中只看到 20-30 行,并且在滚动替换顶部的行时添加其余行
我希望所有行只用页面加载(调用服务)初始化一次,所有行都从我的服务调用返回,然后我可以滚动,因此只处理 300 行的静态数据
【问题讨论】:
标签: ag-grid
设置网格属性rowBuffer为300:
gridOptions = {
...
rowBuffer: 300
...
}
【讨论】:
参考链接:
https://www.ag-grid.com/javascript-grid-properties/#miscellaneous
https://www.ag-grid.com/javascript-grid-properties/#scrolling
在这些链接上查找 suppressRowVirtualisation 和 rowBuffer。默认情况下,Ag-Grid 将 rowbBuffer 设置为 20,这并不意味着它会来回询问您的后端数据。它一次只创建 20 个 DOM 元素,这对速度很有好处。如果您将 rowBuffer 设置为更大的数字,那么最终您的浏览器将因过多的 DOM 元素而冻结。
由于某种原因,如果您仍然想在 DOM 中创建所有 300 行,您可以通过以下方式实现。 (正如@Jarod Moser 在下面的回答。)
gridOptions = {
...
rowBuffer: 300
...
}
【讨论】: