【问题标题】:ag-grid loses focus after refresh刷新后 ag-grid 失去焦点
【发布时间】:2018-04-30 00:33:07
【问题描述】:

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

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

干杯, 西肖勒

【问题讨论】:

    标签: ag-grid ag-grid-ng2


    【解决方案1】:

    这是我的解决方案:

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

    【讨论】:

      【解决方案2】:

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

         let CellRowIndex = selectedRow.rowIndex;
      

      刷新后,

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

      【讨论】:

      • 没有选择行。网格在没有行选择的情况下使用。
      • 那你可以试试,this.GridOptions.api.setFocusedCell(CellRowIndex, "ColumnName");
      【解决方案3】:

      我也一直在使用类似的解决方案(在反应中)来批准答案,但这可能会产生一些错误(我现在遇到的)。网格刷新后,它将强制聚焦一个单元格 - 这似乎是一个浏览器级别的焦点,所以如果你有一个输入焦点,它将失去它。如果您打开了一个下拉列表,则相同 - 它可能会在浏览器认为您聚焦/单击网格中的单元格时关闭。

      【讨论】:

        猜你喜欢
        • 2022-08-02
        • 1970-01-01
        • 2011-03-15
        • 2013-06-12
        • 1970-01-01
        • 1970-01-01
        • 2019-12-03
        • 1970-01-01
        相关资源
        最近更新 更多