Вы можете использовать событие onSelectionChange
для элемента mat-option
, чтобы проверить, отмечены ли все опции, и затем вставить свой флажок «все» в ngIf
в app.component.html:
<mat-select placeholder="User Type" formControlName="userType" multiple>
<mat-option *ngFor="let filters of userTypeFilters" (onSelectionChange)="change($event)" [value]="filters.key">
{{filters.value}}
</mat-option>
<div *ngIf="allChecked">
<mat-option #allSelected (click)="toggleAllSelection()" [value]="0">All</mat-option>
</div>
</mat-select>
добавить в app.component.ts следующее:
change(event) {
if(event.isUserInput) {
console.log(event.source.value, event.source.selected);
// Todo: check if all field are checked
this.allChecked = true;
}
}