首页 > 解决方案 > 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,它解释了缓冲区的原因和内容。

有没有我可以配置行缓冲区?

提前致谢!

标签: javascriptreactjsag-grid

解决方案


它可以配置为网格选项,如

  <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() 现在可以正常工作。


推荐阅读