为什么输入元素没有获得焦点?

朱奈德·祖拜尔

我在 angular 项目中使用 ag-grid 社区版。要求是在选项卡上启用内联编辑,它已实现,但还有另一个要求,即当导航选项卡并到达最后一列并再次点击 Tab 键时,它应该创建一个空行并聚焦到新行的第一个元素作为出色地。我可以通过 ag-grid 函数 setRowData(data) 推送新数据。

我尝试了网格 api 中可用的 startEditingCell() 和 setFocusedCell()。他们确实专注于元素,但输入元素中的光标不会出现。

import {
    Component, OnInit
} from '@angular/core';
import {GridOptions, StartEditingCellParams} from "ag-grid-community";

@Component({
  selector: 'app-angular-grid',
  templateUrl: './angular-grid.component.html',
  styleUrls: ['./angular-grid.component.css']
})
export class AngularGridComponent implements OnInit {

  gridOptions:GridOptions;
  constructor() {
  }

  ngOnInit() {
    this.initializeGridOption();
  }


  initializeGridOption() {
    this.gridOptions = {
      onGridReady: (params)=> {
        params.api.sizeColumnsToFit();
      },
      rowData: this.rowData,
      columnDefs: this.columnDefs,
      rowSelection: 'multiple',
      onCellEditingStopped: function (params) {
        let rowIndex = params.rowIndex;
        let rowDataLength = this.rowData.length;
        let colId = params.column.getColId();
        if (rowDataLength === rowIndex + 1 && colId === 'price') {
          let data = {id: this.rowData.length + 1, make: '', model: '', price: ''};
          this.rowData.push(data);

          params.api.setRowData(this.rowData);
          setTimeout(() => {
            params.api.startEditingCell({rowIndex: rowDataLength, colKey: 'make'});
            params.api.setFocusedCell(rowDataLength, 'make');

          });
        }
      }
    };
  }

  columnDefs = [
    {
      headerName: '',
      width: 40
    },
    {headerName: 'Make', field: 'make', editable: true},
    {headerName: 'Model', field: 'model', editable: true},
    {
      headerName: 'Price',
      field: 'price',
      editable: true
    }
  ];

  rowData = [
    {id: 1, make: 'Toyota', model: 'Celica', price: 35000},
    {id: 2, make: 'Ford', model: 'Mondeo', price: 32000},
    {id: 3, make: 'Porsche', model: 'Boxter', price: 72000}
  ];
}
帕里托什

您不需要通过 显式设置单元格焦点setFocusedCell

检查我创建的这个示例插件: Cell Editing

到达最后一个单元格并点击 Tab 并观察input已经聚焦。

setTimeout(() => {
  params.api.startEditingCell({rowIndex: rowDataLength, colKey: 'make'});
  //params.api.setFocusedCell(rowDataLength, 'make');
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么按钮元素没有显示在输入表单旁边?

来自分类Dev

SearchView没有获得焦点

来自分类Dev

使用Jest测试Vue组件时,为什么document.activeElement没有指向JSm中的焦点元素?

来自分类Dev

为什么没有足够的输入?

来自分类Dev

为什么没有显示元素列表?

来自分类Dev

为什么没有应用thead元素?

来自分类Dev

为什么表格无法获得焦点?

来自分类Dev

输入的文本字段在Internet Explorer 8中没有获得视觉焦点

来自分类Dev

弹出窗口没有获得焦点

来自分类Dev

为什么登录时没有获得Unity选项?

来自分类Dev

为什么我没有在日志中获得 JSON 正文?

来自分类Dev

为什么for .. in获得所有属性,而for .. of没有获得所有值?

来自分类Dev

为什么我的引导程序输入没有填充空间?

来自分类Dev

为什么我的输入没有触发我的功能

来自分类Dev

为什么会出现“在输入时没有可行的选择”?

来自分类Dev

为什么我的输入框阴影没有被重置?

来自分类Dev

为什么没有输入我的C#for循环?

来自分类Dev

为什么pickadate没有设置输入日期?

来自分类Dev

为什么委托方法没有显示输入值?

来自分类Dev

为什么getchar()没有收到任何输入?

来自分类Dev

为什么我的输入没有传递到if语句中?

来自分类Dev

为什么在bash中输入#时没有输出

来自分类Dev

为什么我的输入字段没有问号?

来自分类Dev

为什么实质性UI反应stepper没有标签焦点?

来自分类Dev

当浮动元素的容器没有高度时,为什么浮动元素没有与文档流分离?

来自分类Dev

为什么我的模拟清单没有删除某个元素?

来自分类Dev

为什么我的列表元素没有被交换?

来自分类Dev

为什么没有正确说明Text元素的内容呢?

来自分类Dev

为什么活动元素在Firefox中没有伪像?

Related 相关文章

  1. 1

    为什么按钮元素没有显示在输入表单旁边?

  2. 2

    SearchView没有获得焦点

  3. 3

    使用Jest测试Vue组件时,为什么document.activeElement没有指向JSm中的焦点元素?

  4. 4

    为什么没有足够的输入?

  5. 5

    为什么没有显示元素列表?

  6. 6

    为什么没有应用thead元素?

  7. 7

    为什么表格无法获得焦点?

  8. 8

    输入的文本字段在Internet Explorer 8中没有获得视觉焦点

  9. 9

    弹出窗口没有获得焦点

  10. 10

    为什么登录时没有获得Unity选项?

  11. 11

    为什么我没有在日志中获得 JSON 正文?

  12. 12

    为什么for .. in获得所有属性,而for .. of没有获得所有值?

  13. 13

    为什么我的引导程序输入没有填充空间?

  14. 14

    为什么我的输入没有触发我的功能

  15. 15

    为什么会出现“在输入时没有可行的选择”?

  16. 16

    为什么我的输入框阴影没有被重置?

  17. 17

    为什么没有输入我的C#for循环?

  18. 18

    为什么pickadate没有设置输入日期?

  19. 19

    为什么委托方法没有显示输入值?

  20. 20

    为什么getchar()没有收到任何输入?

  21. 21

    为什么我的输入没有传递到if语句中?

  22. 22

    为什么在bash中输入#时没有输出

  23. 23

    为什么我的输入字段没有问号?

  24. 24

    为什么实质性UI反应stepper没有标签焦点?

  25. 25

    当浮动元素的容器没有高度时,为什么浮动元素没有与文档流分离?

  26. 26

    为什么我的模拟清单没有删除某个元素?

  27. 27

    为什么我的列表元素没有被交换?

  28. 28

    为什么没有正确说明Text元素的内容呢?

  29. 29

    为什么活动元素在Firefox中没有伪像?

热门标签

归档