首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在按钮上禁用选定的选项卡,单击Mat-Tab

在按钮上禁用选定的选项卡,单击Mat-Tab
EN

Stack Overflow用户
提问于 2019-10-14 17:15:41
回答 2查看 4.9K关注 0票数 1

我想在单击按钮时禁用选定的mat-tab和元素,

//HTML

代码语言:javascript
复制
 <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>

//打字本

代码语言:javascript
复制
@ViewChild('tabGroup',{static:false}) tabGroup: MatTabGroup;

buttonClick(){
this.tabGroup._tabs[this.tabGroup.selectedIndex].disabled = true;
}

尝试使用[disabled]属性,

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

我怎样才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-14 17:46:02

this.tabGroup._tabs是项列表,您应该将列表转换为数组,或者访问查询列表中的_results属性。

代码语言:javascript
复制
this.tabGroup._tabs.toArray()[0].disabled = true;

代码语言:javascript
复制
this.tabGroup._tab['_results'][0].disabled = true;

示例

票数 2
EN

Stack Overflow用户

发布于 2019-10-14 17:43:58

可以使用mat-tab isActive的默认属性

代码语言:javascript
复制
<mat-tab-group>
  <mat-tab #tab [disabled]='!tab.isActive' *ngFor="let mytab of tabs" [label]="mytab.name">
    {{ mytab.name }}
  </mat-tab>
</mat-tab-group>

参考资料:https://material.angular.io/components/tabs/api

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58381327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档