angular - 编辑或添加后无法刷新 ag 网格的行 - Angular
问题描述
当我编辑特定行的某些单元格值或添加新行时,我想刷新表格,它应该实时添加到表格中。
下面是这个过程。
我有一个名为“主要组件”的组件,其中我有一个通过从后端获取数据创建的表。我在过滤器组件中获取数据,并从那里使用 RxJS 的主题传递它。我正在创建如下表:
this.filterData.apiData$.subscribe(data => {
if (data) {
this.searchedData = data;
}
})
createTable()
this.table
.columnData(cols[]) - Currently 6 columns
.rowData(rows[]) - Currently 9 rows
...
现在,当我想编辑调用的某些值时,我所做的是,我打开一个包含同一张表的对话框,然后在该对话框中编辑值,一旦完成编辑,我将整行传回使用 RxJS 的主题到组件(主组件)。我在我的组件中获得了一组更新的数据,如下所示。
this.dialog.editedDataObserver.subscribe((editedData: any[]) => {
if (editedData) {
this.editedDataFromDialog = editedData;
for (let i = 0; i< this.searchedData.length; i++) {
const updatedObject = this.editedDataFromDialog.find(x => x.id === this.searchedData.id);
if (updatedObject) {
this.searchedData[i] = JSON.parse(JSON.stringify(updatedObject));
}
}
}
}
})
当我检查这些数据时,我可以在我的主要组件中看到,我得到了带有编辑值的正确数据,但是当我将这些值传递给 rowData() 时,我无法在表中看到这些值。
我试图从堆栈溢出以及 ag grid 的文档中执行以下操作。
1. this.gridAPI.setRowData(this.searchedData)
2. this.gridAPI.refreshCells({force: true});
有人可以告诉我我做错了什么吗?如何使用各个单元格中的编辑值刷新表格?
我想显示在将其发送到后端之前编辑的值。
解决方案
推荐阅读
- fluentd - Fluentd – 如何扫描不同文件夹下的日志文件?
- reactjs - 在 React 中将组件数组作为 Props 传递
- python - 解释为什么 3 个不同位置的“结果”有不同的输出?
- c# - 向模型和会话添加更多项目
- python - 为什么在诸如“0b10101000”之类的二进制文字中需要前导 0?
- pandas - 覆盖两个不同大小的 seaborn 条形图
- c++ - 如何从附加的控制台执行命令
- javafx - JavaFX - 我需要一个子场景还是有更好的方法来做到这一点?
- ruby-on-rails - 用户如何使用表单更新另一个模型的表的值?
- opencv - 如何清除opencv CV_CAP_PROP_BUFFERSIZE