Angular 禁用按钮上的选定选项卡单击“材质”选项卡

Angular 禁用按钮上的选定选项卡单击“材质”选项卡,angular,typescript,angular-material,mat-tab,Angular,Typescript,Angular Material,Mat Tab,我想通过点击按钮禁用选中的mat选项卡和其中的元素 //HTML <mat-tab-group #tabGroup> <mat-tab *ngFor="let subject of subjects" [label]="subject.name"> {{ subject.name }} <mat-selection-list> <mat-list-option *ngFor

我想通过点击按钮禁用选中的
mat选项卡
和其中的元素

//HTML

 <mat-tab-group #tabGroup>
      <mat-tab *ngFor="let subject of subjects" [label]="subject.name">
        {{ subject.name }}
            <mat-selection-list>
              <mat-list-option *ngFor="let ans of datas">
                 {{ans}}
              </mat-list-option>
            </mat-selection-list>
      </mat-tab>
    </mat-tab-group>

    <button (click)="buttonClick()"></button>
尝试在中使用
[disabled]
属性

但它禁用了所有选项卡,而不是选定的选项卡,并且没有禁用控件


如何实现这一点?

您可以使用
mat选项卡的默认属性isActive

<mat-tab-group>
  <mat-tab #tab [disabled]='!tab.isActive' *ngFor="let mytab of tabs" [label]="mytab.name">
    {{ mytab.name }}
  </mat-tab>
</mat-tab-group>

{{mytab.name}

参考:

此.tabGroup.\u tabs是项目列表。您应该将列表转换为数组,或者访问查询列表中的\u results属性

this.tabGroup._tabs.toArray()[0].disabled = true;


我很难看到预期的输出,建议添加一个片段。this.tabGroup.selectedIndex.disabled=true;
this.tabGroup._tabs.toArray()[0].disabled = true;
this.tabGroup._tab['_results'][0].disabled = true;