![](/img/trans.png)
[英]12 Angular Material Mat tabs in 2 rows how can I achieve it?
[英]How can I switch from one Angular 2 material tabs to another in typescript?
我有兩個標簽和兩個按鈕
<md-tab-group>
<md-tab label="Tab 1">Content 1</md-tab>
<md-tab label="Tab 2">Content 2</md-tab>
</md-tab-group>
<button md-button (click)="showTab1()">Show Tab 1</button>
<button md-button (click)="showTab2()">Show Tab 2</button>
如果我在選項卡 1 上,我需要函數 showTab1() 切換到選項卡 1,如果單擊按鈕,則需要執行 showTab2()。 任何人都可以幫忙嗎?
您可以將[selectedIndex]
@Input用於mat-tab-group
:
零件:
selectedIndex = 0;
selectTab(index: number): void {
this.selectedIndex = index;
}
模板:
<mat-tab-group [selectedIndex]="selectedIndex">
<mat-tab label="Tab 1">Content 1</mat-tab>
<mat-tab label="Tab 2">Content 2</mat-tab>
</mat-tab-group>
<button mat-button (click)="selectTab(0)">Show Tab 1</button>
<button mat-button (click)="selectTab(1)">Show Tab 2</button>
...或者您可以創建對mat-tab-group
的引用並直接在模板中操作它:
<mat-tab-group #tabGroup>
<mat-tab label="Tab 1">Content 1</mat-tab>
<mat-tab label="Tab 2">Content 2</mat-tab>
</mat-tab-group>
<button mat-button (click)="tabGroup.selectedIndex = 0">Show Tab 1</button>
<button mat-button (click)="tabGroup.selectedIndex = 1">Show Tab 2</button>
您需要聲明一個變量,例如tab: number = 1
。 然后,您可以創建模板,如:
<md-tab-group>
<md-tab *ngIf="tab==1" label="Tab 1">Content 1</md-tab>
<md-tab *ngIf="tab==2" label="Tab 2">Content 2</md-tab>
</md-tab-group>
<button md-button (click)="tab=1">Show Tab 1</button>
<button md-button (click)="tab=2">Show Tab 2</button>
在 TS
@ViewChild('tabGroup') tabGroup;
ngAfterViewInit(): void {
this.selected_tab_label = this.tabGroup._allTabs._results[this.selectedIndex].textLabel;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.