javascript - Ag 网格 getLastDisplayedRow() 无法正常工作
问题描述
我使用 getLastDisplayedRow() 来获取网格显示的最后一行索引。然后使用 ensureIndexVisable(lastRowIndex, 'bottom') 显示网格。问题是它总是向下跳 10 行开始显示(在这种情况下,如果您向下滚动到网格的末尾,那么它不会跳转,因为没有更多的行可以跳转)。我用谷歌搜索了一下,得到的东西不完全一样,但看起来很相似https://github.com/ag-grid/ag-grid/issues/1360,它说不知何故有一个 10 行缓冲区(一个 2016 线程)。
我查阅了 getLastDisplayedRow() 的文档,它确实提到了
“getFirstDisplayedRow() 获取由于滚动而显示的第一个显示行的索引(包括缓冲区中不可见的渲染行)”
还得到了https://www.ag-grid.com/javascript-grid-performance/#5-configure-row-buffer,它解释了缓冲区的原因和内容。
有没有我可以配置行缓冲区?
提前致谢!
解决方案
它可以配置为网格选项,如
<AgGridReact
modules={this.state.modules}
columnDefs={this.state.columnDefs}
defaultColDef={this.state.defaultColDef}
ensureDomOrder={true}
suppressColumnVirtualisation={true}
rowBuffer={this.state.rowBuffer}
onGridReady={this.onGridReady}
rowData={this.state.rowData}
/>
这很容易,但我花了一些时间才知道缓冲区的存在。使用 ensureIndexVisable(lastRowIndex, 'bottom') 更改 getLastDisplayedRow() 现在可以正常工作。
推荐阅读
- excel - 如何使用案例循环遍历范围
- spring-boot - 使用 mongodb 的 Spring Boot RestController 的 Junit
- django - 使用当前登录用户自动填充 ForeignKey(User)
- javascript - 如果承诺失败,抓住但做下一个
- ios - 为什么操场表现得很奇怪。下面的代码显示编译器错误,并在运行代码时显示正确的输出
- entity-framework-6 - 未映射的属性:_entityWrapper
- sql - SQL Server:批量删除表和行后如何减小数据库大小
- r - 从包含 URL 的多个元素和行的数据框中下载文件
- javascript - 未捕获的 ReferenceError:showTreeDropdownContent 未在 HTMLButtonElement.onclick 中定义
- mysql - 我在 MySQL 中有这个错误,但我不知道为什么