ag-grid-angular 不显示数据

ag-grid-angular doesn't display data

获取并分配给数组的数据未显示在 ag-grid-angular 组件中:

Angular分量:

columnDefs = [
    { headerName: 'Id', field: 'id' },
    { headerName: 'Name', field: 'name' },
    { headerName: 'Login', field: 'login' },
    { headerName: 'Email', field: 'email' },
    { headerName: 'Role', field: 'role' },
    { headerName: 'Department', field: 'department' },
  ];

  rowData = Array();

  ngOnInit(): void {
    this.apiService.getAllUsers().subscribe(users => {
      users.forEach(user => {
        const item = {
          'id': user.id,
          'name': user.name,
          'login': user.login,
          'email': user.email,
          'role': user.role,
          'department': user.department
        };
        this.rowData.push(item)
      }, err => {
        this.errorMessage = err;
      })
    });

    console.log(this.rowData);
  }

Html:

<ag-grid-angular
  [columnDefs]="columnDefs"
  [rowData]="rowData"
  class = "ag-theme-balham standard-grid">
</ag-grid-angular>

网格:

控制台打印的数组数据:

除此之外,没有其他错误

发生这种情况是因为您将项目推送到 rowData 变量,这不会触发更改检测,因此您不会在网格中获得结果。

您可以做的是拥有另一个单独的数组并将项目推送到该数组,然后将该数组分配给 rowData 变量。 或者您可以使用 ag 网格 api 方法 setRowData 来设置结果。