gpt4 book ai didi

angular - 使用 mat-tab-group 以编程方式选择 Angular 2 Material 中的 mat-tab

转载 作者:太空狗 更新时间:2023-10-29 16:49:31 26 4
gpt4 key购买 nike

如何在事件发生时选择特定的选项卡?

我尝试使用 [selectedIndex]="selectedTab"selectedTab 更改为所需的选项卡索引,但加载选项卡后它似乎不起作用。

最佳答案

更新(使用最新的 Angular + Material )

有多种方法..

  1. 可能的解决方案,使用双向数据绑定(bind)
<button mat-raised-button (click)="demo1BtnClick()">Tab Demo 1!</button>
<mat-tab-group [(selectedIndex)]="demo1TabIndex">
<mat-tab label="Tab 1">Content 1</mat-tab>
<mat-tab label="Tab 2">Content 2</mat-tab>
<mat-tab label="Tab 3">Content 3</mat-tab>
</mat-tab-group>
public demo1TabIndex = 1;
public demo1BtnClick() {
const tabCount = 3;
this.demo1TabIndex = (this.demo1TabIndex + 1) % tabCount;
}
  1. 可能的解决方案,使用模板变量并通过我们的点击函数
<button mat-raised-button (click)="demo2BtnClick(demo2tab)">Tab Demo 2!</button>
<mat-tab-group #demo2tab>
<mat-tab label="Tab 1">Content 1</mat-tab>
<mat-tab label="Tab 2">Content 2</mat-tab>
</mat-tab-group>
public demo2BtnClick(tabGroup: MatTabGroup) {
if (!tabGroup || !(tabGroup instanceof MatTabGroup)) return;

const tabCount = tabGroup._tabs.length;
tabGroup.selectedIndex = (tabGroup.selectedIndex + 1) % tabCount;
}
  1. 可能的解决方案,使用@ViewChild
<button mat-raised-button (click)="demo3BtnClick()">Tab Demo 3!</button>
<mat-tab-group #demo3Tab>
<mat-tab label="Tab 1">Content 1</mat-tab>
<mat-tab label="Tab 2">Content 2</mat-tab>
</mat-tab-group>
@ViewChild("demo3Tab", { static: false }) demo3Tab: MatTabGroup;

public demo3BtnClick() {
const tabGroup = this.demo3Tab;
if (!tabGroup || !(tabGroup instanceof MatTabGroup)) return;

const tabCount = tabGroup._tabs.length;
tabGroup.selectedIndex = (tabGroup.selectedIndex + 1) % tabCount;
}

现场演示:https://stackblitz.com/edit/angular-selecting-mattab?file=src%2Fapp%2Fapp.component.ts

关于angular - 使用 mat-tab-group 以编程方式选择 Angular 2 Material 中的 mat-tab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41937176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com