首页 > 解决方案 > MatOption如何模拟选择

问题描述

我有一个带有多个选项集的垫子选择(多选)。当我选择其中一个选项时,我需要禁用其他选项。如何在 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) && el.value !== EStatus.DELETED) {
      return false
    }
    return true
  }

标签: angulartypescriptangular-material

解决方案


推荐阅读