ag-grid刷新后失去焦点

时间:2017-11-16 12:53:37

标签: ag-grid ag-grid-ng2

我在Angular 4.x中使用ag-grid。 每当网格刷新时,它就会失去焦点。 这似乎是ag-grid中的一个错误。

是否有任何解决方法,例如将焦点设置回网格,以便键盘导航仍然起作用?

干杯, Seeschorle

3 个答案:

答案 0 :(得分:2)

这是我的解决方案:

   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();

答案 1 :(得分:0)

在刷新网格之前,保存selectedRow的rowIndex

   let CellRowIndex = selectedRow.rowIndex;

刷新后,

     if (this.GridOptions.api != undefined ) {            
        this.GridOptions.api.selectIndex(CellRowIndex, false, false);
    }

答案 2 :(得分:0)

我也一直在使用类似的解决方案(在反应上)来批准答案,但是这可能会产生一些错误(我现在遇到)。网格刷新后,它将强制集中某个单元格-看起来这是浏览器级别的焦点,因此,如果您具有输入焦点,它将丢失它。如果您打开了一个下拉列表,也是如此-可能会因为浏览器认为您集中/单击了网格中的单元格而关闭。