要实现滚动到上次的位置,可以使用ag-Grid的ensureIndexVisible
方法。该方法可以确保指定的行在可见区域内。
以下是一个使用ensureIndexVisible
方法的示例代码:
// 获取上次滚动的位置
var lastScrollIndex = localStorage.getItem('lastScrollIndex');
// 创建ag-Grid
var gridOptions = {
// 其他配置项...
onFirstDataRendered: function() {
// 滚动到上次的位置
if (lastScrollIndex) {
gridOptions.api.ensureIndexVisible(lastScrollIndex, 'middle');
}
},
onViewportChanged: function() {
// 保存当前滚动的位置
var firstRow = gridOptions.api.getFirstDisplayedRow();
localStorage.setItem('lastScrollIndex', firstRow);
}
};
// 初始化ag-Grid
new agGrid.Grid(gridDiv, gridOptions);
在上述代码中,我们首先从localStorage
中获取上次滚动的位置。然后,在onFirstDataRendered
回调函数中,我们使用ensureIndexVisible
方法将行滚动到上次的位置。同时,在onViewportChanged
回调函数中,我们保存当前滚动的位置到localStorage
中。
这样,每次打开页面时,ag-Grid都会滚动到上次滚动的位置。