Можно управлять выбранной вкладкой, используя вход selectIndex
для mat-tab-group
.Чтобы изменить tabSelected, установите для него нужный вам индекс вкладки, а вкладка изменится на установленный индекс.
Чтобы сделать это, я бы просто определил службу и использовал темы поведения.Определение моего сервиса:
my-tab.service.ts
:
@Injectable()
export class MyTabService{
tabSubject : BehaviorSubject<number> = new BehaviorSubject<number>(0);
constructor(){}
setTabSelected(tabIndex : number){
this.tabSubject.next(tabIndex);
}
getTabSelected() {
this.tabSubject.asObservable();
}
}
Теперь подпишитесь на getTabSelected()
в компоненте вкладок, и вы получите tabIndex
в ответе на подписку.
Учитывая, что компонент вкладок имеет значение my-tab.component.ts
,
@Component({...})
export class MyTabComponent {
selectdIndex : number = 0;
constructor(private _myTabService : MyTabService){}
ngOnInit(){
this.-myTabService.getTabSelected().subscribe((tabIndex : number) =>{
this.selectedIndex = tabIndex;
})
...
}
...
}
Используйте selectedIndex в вашем шаблоне:
<mat-tab-group class=" navbar-default panel-piluku nav nav-justified nav-wizard nav-progression" [selectedIndex]='selectedIndex'>
<mat-tab class="outbound_link" role="button" title="Item Info" label="Item Info">
<add-product-information></add-product-information>
</mat-tab>
<mat-tab class="outbound_link" role="button" title="Variations" label="Variations">
<add-product-variation></add-product-variation>
</mat-tab>
<mat-tab class="outbound_link" role="button" title="Pricing" label="Pricing">
<add-product-pricing></add-product-pricing>
</mat-tab>
<mat-tab class="outbound_link" role="button" title="Inventory" label="Inventory">
<add-product-stock></add-product-stock>
</mat-tab>
<mat-tab class="outbound_link" role="button" title="Images" label="Images">
<add-product-images></add-product-images>
</mat-tab>
<mat-tab class="outbound_link" role="button" title="Locations" label="Locations">
<add-product-locations></add-product-locations>
</mat-tab>
</mat-tab-group>
Для получения дополнительной информации о входах и событиях в группе вкладок матов см.: Коврик для вкладыша