在Angular ag-grid中使用异步管道时,不能直接使用Grid API中的addRow方法添加新行。相反,我们需要使用异步管道的输出来更新行集合。以下是一个示例:
import { Observable } from ‘rxjs’;
import { map } from ‘rxjs/operators’;
rows$: Observable; //定义一个Observable对象
ngOnInit(): void {
this.rows$ = this.getDataFromServer().pipe(
map((data) => data.rows) //获得数据中的行
);
}
getDataFromServer(): Observable {
//从服务器获取数据并返回一个Observable
}
onSubmit(): void {
this.rows$.subscribe((rows) => {
this.gridApi.setRowData(rows); //使用setRowData方法更新行集合
});
this.gridApi.refreshCells(); //刷新单元格
}
这样就可以通过异步管道来获取新的行集合并更新ag-grid了。