Все еще в состоянии выбрать отключенный флажок в таблице Mat - PullRequest
2 голосов
/ 04 июня 2019

У меня есть таблица Mat со столбцом флажка.Я устанавливаю определенные флажки, чтобы отключить на основе определенных условий.Однако пользователь все еще может установить флажок, если щелкнуть строку.Как запретить установку флажка при отключении: Вот пример стекаблица, который я разбудил с сайта дизайна материалов: https://stackblitz.com/edit/angular-erpaus?file=app%2Ftable-selection-example.html. вы не можете установить флажок, но если вы щелкнете за его пределами, флажок будет выбран: enter image description here

<mat-checkbox (click)=      "$event.stopPropagation()"
                              (change)="$event ? selection.toggle(row) :null"
                              [checked]="selection.isSelected(row)" 
                              [disabled]="myCondition"
                               color="primary">
                </mat-checkbox>

Ответы [ 2 ]

1 голос
/ 04 июня 2019

Как говорит @AmitBaranes, удаление (click)="selection.toggle(row)" должно работать, но вы не сможете выбрать строку, если условие true.Если вы хотите отключить определенные строки и включить другие, вы можете реализовать условие, подобное этому (click)="!row.excluded && selection.toggle(row)".Смотрите полный пример в stackblitz .

1 голос
/ 04 июня 2019

Я думаю, когда вы нажимаете на строку, строка выбирается.В вашем коде: [checked]="selection.isSelected(row)" проверяет, выбрана ли строка, и когда это выражение возвращает значение true, флажок будет установлен, поэтому вы должны отключить выбор строки после щелчка.

...