Как предотвратить добавление динамически добавляемого родительского класса к своим дочерним элементам в Angular Material, mat-selection-list? - PullRequest
0 голосов
/ 29 сентября 2018

Я создал диалог со списком опций (пользователей), которые можно выбрать, используя 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Как глупо было мне это пропустить. Лол.

1 Ответ

0 голосов
/ 01 октября 2018
 <mat-list-option *ngFor="let item of filteredArray" [value]="item" [disabled]="item.isSelected" [selected]="item.isSelected">

Я смог решить эту проблему с помощью моего коллеги.

Я не смотрел в нужном месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...