我正在使用 Angular 4 (ES 6),但遇到了问题。我有一个为数据表供电的数组。当我从数组中添加和删除项目时,数据表会做出相应的行为。但是当我更换一个项目时,即
const indexOfOld = this.modelList.indexOf(oldThing);
this.modelList[indexOfOld] = value;
我没有看到我的列表/数据表更新。我知道在其他以 UI 为中心的技术中,您可以踢虚拟机并让它重绘(Flex -> invalidateDisplayList)。
有没有办法向 Angular 4 (ES 6) 发出信号,表明它需要刷新数据表/列表?
非常感谢任何帮助。
最佳答案
更新后备数组后,我无法刷新 ngx-datatable ( https://github.com/swimlane/ngx-datatable ),也无法在调用后刷新它
cd.markForCheck()
但是,在将新模型的值分配给旧模型后,我能够更新表。
else if(oldBatchProcess){
value.creationDateFormatted = this.datePipe.transform(value.creationDate, 'yyyy-MM-dd hh:mm a');
const indexOfOld = this.batchProcesses.indexOf(oldBatchProcess);
this.batchProcesses[indexOfOld] = value;
Object.assign(oldBatchProcess, value);
}
关于javascript - Angular 4 : List doesn't update on replacement of item in backing array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45271182/