我已经在 Angular 6 中完全设置了一个 ag-grid,它可以在页面启动时正确显示所有 rowData。但是,当将项目添加到 rowData 时,ag-grid 的显示不会更新。
我在以下 StackBlitz 链接中设置了这种情况:
https://stackblitz.com/edit/ag-grid-error?file=src/app/app.component.ts
我进行了这样的设置,以便每次单击顶部的按钮时,都会将一个项目添加到 rowData 中,并将 rowData 记录到控制台(在右下角访问)。我遇到的问题是,当我单击按钮更新 rowData 时,ag-grid 不会显示新项目。
有趣的是,如果您删除编辑器中代码的任何部分并重新输入它以更新显示,新项目将显示在ag网格上。
提前感谢任何知道如何解决此问题的人。
将
gridReady
事件添加到网格 HTML,并在添加新行后使用 this.gridApi.setRowData(this.rowData)
刷新网格数据。
<ag-grid-angular
style="width:100%;height:90vh"
class="ag-theme-balham"
[gridOptions]="gridOptions"
[columnDefs]="columnDefs"
(gridReady)="onGridReady($event)">
</ag-grid-angular>
更新您的app.component.ts代码如下
private gridApi;
private rowData = [];
onGridReady(params) {
this.gridApi = params.api; // To access the grids API
}
addItem() {
this.rowData.push({ item: "item" }); // Add new Item
this.gridApi.setRowData(this.rowData); // Refresh grid
console.log(this.rowData);
}