我正在使用Angular应用程序,但是在数据更新方面遇到了麻烦。
1-我正在创建一个数据网格 2-我要求从特定用户那里获取数据 3-我要求通过uuid(包含在上一个请求中)来获取部门的名称:信息 4- Datagrid已更新
当我修改部门名称而没有休假请求时,该名称被更新。但是,当我在代码中的相同位置将其替换为请求时,则无法很好地更新数据网格。 (但结果是可以接受的)
ngOnInit() {
this.context = { componentParent: this };
this.subscription.push(this.translate.get('Purchase').subscribe((res) => {
this.gridOptions.onGridReady = (params) => {
this.gridApi = params.api;
this.gridApi.setColumnDefs(this.createColumnDef());
this.gridApi.refreshCells({ force: true });
this.gridOptions.api.sizeColumnsToFit();
}
// Limit Purchases to user budgetscope matches
this.userService.getUserInfo().subscribe((user) => {
this.subscription.push(this.purchase.findByUserId(user.id).subscribe((purchases: PurchaseOrder[]) => {
this.rowData = purchases;
//change the uuid of the department by it's name
this.rowData.forEach(element => {
console.log('1');
let mafonction = (element) => {
this.departmentService.findByDepartmentUuid(element.department).subscribe((department: Department) => {
element.departement = department.name;
console.log(element.departement);
});
};
mafonction(element);
});
console.log('2');
}))
}),
() => {
// ...
};
}));
console.log('4');
}
执行此代码时,我进入了控制台:
1
2
信息
但数据网格中没有名称。
当我刚替换时:
this.rowData.forEach(element => {
console.log('1');
// ...
mafonction(element);
});
通过
this.rowData.forEach(element => {element.department = "nothing2"});
“ nothing2”未显示在数据网格中。
答案 0 :(得分:0)
我解决了这个问题:this.rowData =购买;应该显示最后一个数据块(department.findByUuid),以便显示最后一个数据。