Angular 角垫表-添加的行不';删除另一个后不显示

Angular 角垫表-添加的行不';删除另一个后不显示,angular,Angular,我已经创建了一个表,用户可以(通过按)添加行 和删除行(通过过滤数据源),这些操作工作正常 this.dataSource.data = this.dataSource.data .filter(i => i !== elm) .map((i, idx) => (i.position = (idx + 1), i)); 删除一行并添加另一行后,元素_数据数组将获得该项,而表不会显示该项。 谢谢。表检测更改策略是ChangeDetectionStrategy.

我已经创建了一个表,用户可以(通过按)添加行

和删除行(通过过滤数据源),这些操作工作正常

this.dataSource.data = this.dataSource.data
      .filter(i => i !== elm)
      .map((i, idx) => (i.position = (idx + 1), i));
删除一行并添加另一行后,元素_数据数组将获得该项,而表不会显示该项。
谢谢。

表检测更改策略是
ChangeDetectionStrategy.OnPush
,因此这意味着对于显示新项,您需要更改数组引用

delete函数返回带有过滤数据数组的新数组。我认为您的add函数只需执行array.push(newItem)

因此,您可以通过这种方式添加新项。这个应该适合你的案子

this.dataSource.data = [...this.dataSource.data, newItem]

也谢谢你。很高兴帮助您@almogldbh!
this.dataSource.data = [...this.dataSource.data, newItem]