刷新后 ag-grid 失去焦点
ag-grid loses focus after refresh
我在 Angular 4.x 中使用农业网格。
每当刷新网格时,它就会失去焦点。
这似乎是 ag-grid 中的一个错误。
是否有任何解决方法,例如将焦点设置回网格,以便键盘导航仍然有效?
干杯,
塞斯科勒
在刷新网格之前,保存selectedRow的rowIndex
let CellRowIndex = selectedRow.rowIndex;
刷新后,
if (this.GridOptions.api != undefined ) {
this.GridOptions.api.selectIndex(CellRowIndex, false, false);
}
这是我的解决方案:
private bringFocusBack() {
let cell = this.gridOptions.api.getFocusedCell();
if ( cell ) {
this.gridOptions.api.setFocusedCell( cell.rowIndex, cell.column );
}
}
刷新后调用此方法:
this.gridOptions.api.refreshRows( rowsToRefresh );
this.bringFocusBack();
我也一直在使用类似的解决方案(在反应中)来批准答案,但是这可能会产生一些错误(我现在遇到了)。网格刷新后,它会强制聚焦一个单元格——这似乎是浏览器级别的焦点,所以如果你有一个输入焦点,它就会失去它。如果您打开了一个下拉列表,则相同 - 它可能会关闭,因为浏览器认为您 focused/clicked 网格中的单元格。
我在 Angular 4.x 中使用农业网格。 每当刷新网格时,它就会失去焦点。 这似乎是 ag-grid 中的一个错误。
是否有任何解决方法,例如将焦点设置回网格,以便键盘导航仍然有效?
干杯, 塞斯科勒
在刷新网格之前,保存selectedRow的rowIndex
let CellRowIndex = selectedRow.rowIndex;
刷新后,
if (this.GridOptions.api != undefined ) {
this.GridOptions.api.selectIndex(CellRowIndex, false, false);
}
这是我的解决方案:
private bringFocusBack() {
let cell = this.gridOptions.api.getFocusedCell();
if ( cell ) {
this.gridOptions.api.setFocusedCell( cell.rowIndex, cell.column );
}
}
刷新后调用此方法:
this.gridOptions.api.refreshRows( rowsToRefresh );
this.bringFocusBack();
我也一直在使用类似的解决方案(在反应中)来批准答案,但是这可能会产生一些错误(我现在遇到了)。网格刷新后,它会强制聚焦一个单元格——这似乎是浏览器级别的焦点,所以如果你有一个输入焦点,它就会失去它。如果您打开了一个下拉列表,则相同 - 它可能会关闭,因为浏览器认为您 focused/clicked 网格中的单元格。