【问题标题】:How to deselect single row from mat-table如何从 mat-table 中取消选择单行
【发布时间】:2026-01-24 19:10:02
【问题描述】:

我正在使用Selection Data table

取消选择我们使用的所有行:

this.selection.clear();

其中 selection 是 SelectionModel 类的对象。现在,如果我想从“组件打字稿代码”后面的代码中删除特定行的选择,是否有任何有用的“角度”语句,就像 clear() 方法一样?

【问题讨论】:

  • 在下面查看我的答案以从 mat-table 中选择或取消选择一行。

标签: angular angular5 angular-material2


【解决方案1】:

你可以使用

this.selection.deselect(行)

this.selection.select(row)

Sample to deselect 5th row with mat-table

选择或取消选择特定行的功能。

示例:如果您想取消选择 3rd 行,您可以执行以下操作。

this.selection.deselect(this.dataSource.data[2])

这是 SelectionModel 类code

【讨论】:

  • 谢谢,但我有疑问,使用取消选择会从 this.selection.selected 数组中删除行吗?
  • @Furqan 是的。它将删除。如果对你有帮助,请标记为答案
【解决方案2】:

您可以通过使用 ngClass 和 selectedRowIndex 之类的标志来实现。每当单击的行索引等于 selectedRowIndex 时,就会应用该类。此链接可能对您有所帮助
Angular 4 Material table highlight a row

【讨论】:

  • 谢谢,但我需要做的是删除特定行的选择,而不是在选择时突出显示它。我的数据表也使用了多选功能,并且在某些时候我有多个选定的行。