我在Angular 7.x中使用ag-grid。每当刷新页面时,它都会失去突出显示的行焦点。这似乎是ag-grid中的错误。
有没有解决方法,例如使用参数ID将最后选择的行焦点设置回网格。
答案 0 :(得分:0)
您需要将所选的行存储在localStorage中:
window.onbeforeunload = (event) => {
localStorage.setItem("selectedRows", JSON.stringify(this.gridOptions.api.getSelectedRows()));
};
,然后在刷新后以及在网格中设置数据之后,以编程方式重新选择行:
reSelect = (): void => {
const selectedRows = JSON.parse(localStorage.getItem("selectedRows"));
this.gridOptions.api.forEachNode((node: RowNode, index: number) => {
// adapt with you own unique role-id rule
const selectNode = selectedRows.some((row) => { return row.id === node.data.id; });
if (selectNode) {
node.setSelected(true, false);
}
});
};