Я создал диалог со списком опций (пользователей), которые можно выбрать, используя mat-selection-list
.У меня есть сценарий использования, в котором я должен отключить список уже выбранных пользователей от повторного выбора / щелчка.
Итак, я получаю выбранных пользователей из события, добавьте флаг, чтобы узнать, был ли пользователь ужевыбран или нет, и отключите mat-list-option
на основе возвращенного логического значения из флага, который у меня есть.Вот код для этого.
<mat-selection-list
#listItem
(selectionChange)="handleSelection($event, listItem.selectedOptions)">
<mat-list-option
*ngFor="let item of filteredArray"
[value]="item"
[disabled]="item.isSelected">
{{getDisplayValue(item)}}
<mat-divider></mat-divider>
</mat-list-option>
</mat-selection-list>
Теперь проблема в том, что я хочу показать галочку и для уже выбранных пользователей, поскольку mat-list-option
имеет дочерний элемент mat-checkbox
.
Поэтому, когда я отключаю mat-list-option
(родительский), он также добавляет класс mat-psuedo-checkbox-disabled
к флажку (дочерний).Я хочу предотвратить это.
Или предложите мне эффективный способ переопределить класс mat-checkbox
и добавить к нему класс checked
, даже если к mat-list-option
добавлен отключенный класс.
Любая помощьпризнателен, спасибо.
ОБНОВЛЕНИЕ: Решено, добавив к нему свойство mat-list-option selectedКак глупо было мне это пропустить. Лол.