【发布时间】:2021-03-13 18:34:55
【问题描述】:
我在我的项目中使用ag-grid。编辑单元格后,我试图将rowData 保留到后端。它在大多数情况下都有效,但有时,我最终会保留一个序列化的空数组,原因我目前不知道。
现在,我正在使用onCellEditingStopped 事件来触发保存到数据库。我的组件中的一些代码:
this.plansGridOptions.onCellEditingStopped = this.cellEditingStopped;
cellEditingStopped(params: CellEditingStoppedEvent) {
let context = <ImportSessionComponent>params.context;
context.saveSession().subscribe(r => { });
}
saveSession(): Observable<any> {
//I'm simply serializing the row data array, and storing that value
//But sometimes, plansRowData is empty at this point.
this.importForm.get("uploadItemsSerialized").setValue(JSON.stringify(this.plansRowData));
return this.importService.saveSession(this.importForm);
}
saveSession(sessionForm: FormGroup): Observable<any> {
//some conversion from string to number so viewmodel binding works in the backend
const value = {
...sessionForm.value, importType: +sessionForm.get("importType").value, environment:
+sessionForm.get("environment").value,
id: +sessionForm.get("id").value, version: +sessionForm.get("version").value, stepIndex:
sessionForm.get("currentStep").value
};
return this.http.post<any>("/import/save", value);
}
这是网格的模板标记:
<ag-grid-angular #planGrid style="width: 100%; height: 475px;"
class="ag-theme-balham-dark"
[rowData]="plansRowData"
[gridOptions]="plansGridOptions"
[columnDefs]="plansRowConfig">
</ag-grid-angular>
似乎网格组件和我的组件数组之间的绑定并不总是固定的(即:我正在使用的事件是在网格更新plansRowData数组之前触发的?)我应该使用不同的事件来触发保存?什么可能导致问题?
【问题讨论】:
标签: angular typescript ag-grid angular10