【发布时间】:2022-10-14 07:27:57
【问题描述】:
我正在使用在我的 React 应用程序中使用的 Ag-grid 映射到某个状态。
const [myGridData, setMyGridData] = useState([]);
<MyAgGrid
rowData={myGridData}
pagination
paginationPageSize={5}
{...props}
/>
现在,我有一个表单,它接受用户输入并向网格动态添加一个新行。
因此,在保存此表单时,将调用以下代码
setMyGridData(current => [...current, newRowData]);
if (gridApi && gridApi.getDisplayedRowCount() >= gridApi.paginationGetPageSize()) {
gridApi.paginationGoToPage(parseInt((gridApi.getDisplayedRowCount() / gridApi.paginationGetPageSize())) + 1);
}
页面大小设置为 5。因此,当我保存第 6 条记录时,我希望网格以编程方式导航到第 2 页,以便用户在网格中看到新记录。
但是在这里,虽然网格确实添加了第 6 行,但它没有导航到第 2 页,我必须手动导航才能看到第 6 条记录。但是,如果我在第 1 页并添加下一条记录(即第 7 行),它会导航到第 2 页。
因此,对于第 6 条记录,第 2 页似乎尚未准备好/创建。
【问题讨论】:
-
你为什么不尝试按最新日期排序?所以用户可以在第 1 页看到新数据
-
是的,这是可以做到的......但我并没有真正捕捉到在这种情况下添加的日期......所以一旦达到页面限制,就需要以编程方式分页
-
检查 ag-grid Custom Paging 部分。添加新行时,尝试使用
api.paginationGoToPage(4)更改页码 -
是的,我正在使用 paginationGoToPage ,但由于某种原因,它似乎在我提到的场景中不起作用
标签: javascript ag-grid ag-grid-react