#angular #typescript #angular-material
Вопрос:
У меня есть выбор коврика с набором нескольких опций (множественный выбор). Когда я выбираю один из вариантов, мне нужно отключить другие параметры. Как я могу сделать это в функции checkDeleted() или в функции refresh ()? Существует ли метод класса MatOption, который вручную переключает выбранное поле? Вот мой HTML :
<mat-select #statusSelect [(ngModel)]="statuses" (selectionChange)="refresh()" multiple>
<mat-option
*ngFor="let status of statuses"
#statusOptSelect
[value]="status.id"
[disabled]="!checkDeleted(statusOptSelect)"
>
{{ status.name }}
</mat-option>
</mat-select>
И код ts:
public checkDeleted(el: MatOption): boolean {
if (this.filter.statuses.includes(EStatus.DELETED) amp;amp; el.value !== EStatus.DELETED) {
return false
}
return true
}
Комментарии:
1.
[disabled]="isDeletedStatusChecked amp;amp; status.id != deletedStatus.id"
2.
[(ngModel)]="statuses"
=>[(ngModel)]="selectedStatusIds"