问题描述
我正在管道中使用过滤器作为数组
*ngFor="let device of devices|filter: ['Department',departmentsFilter] |filter:['Name',searchName]; let i = index "
当我过滤然后更改设备索引时,例如this.devices[i] = obj
,直到我在filter(再次过滤)或unfilter(过滤器文本框为空)中写入内容后,我才能看到更改。
关于如何获得过滤结果的任何想法都表明了我对主要对象this.devices
所做的更改
解决方法
this.devices[i] = obj
不会反映为this.devices
中的变化,因此解决方案是使用类似以下的内容
下面是角度文档https://angular.io/guide/pipes
中的一条语句Angular忽略更改的数组元素的原因是对数组的引用未更改。由于数组相同,因此Angular不会更新显示。
this.devices[i] = obj
this.devices = [...this.devices];
具有上述更改检测功能的设备将启动并更新用户界面