我有带有复选框列的Mat表。我根据某些条件将某些复选框设置为禁用。但是,如果单击该行,用户仍然可以选择该复选框。禁用后如何防止选中该复选框:这是我从材料设计站点https://stackblitz.com/edit/angular-erpaus?file=app%2Ftable-selection-example.html派生的Stackblitz示例。您无法单击该复选框,但是如果在其外部单击,则会选中该复选框:
s_percent
答案 0 :(得分:1)
我认为,当您单击行时,将选择该行。在您的代码中:[checked]="selection.isSelected(row)"
检查是否选择了行,并且当此表达式返回true时,将选中复选框,因此您必须在单击后关闭选择行。
答案 1 :(得分:1)
正如@AmitBaranes所说,删除(click)="selection.toggle(row)"
应该可以,但是如果条件为true
,则将无法选择一行。
如果要禁用某些行并启用其他行,则可以实现类似(click)="!row.excluded && selection.toggle(row)"
的条件。
请参见stackblitz中的完整示例。