Рассмотрите возможность следования структуре tab-panel
html.
<mat-tab-group #allTabs>
<mat-tab label="Tab 1">
<p>Tab 1 Content</p>
<button mat-raised-button tabindex="-1" type="button"
color="warn" (click)='moveToSelectedTab("Tab 2")'>Move to Tab 2</button>
</mat-tab>
<mat-tab label="Tab 2">
<p>Tab 2 Content</p>
<button mat-raised-button tabindex="-1" type="button"
color="warn" (click)='moveToSelectedTab("Tab 1")'>Move to Tab 1</button>
</mat-tab>
</mat-tab-group>
Вы можете найти все вкладки в компоненте и найти вкладку label
, которую вы хотите переместить,
после этого вызовите метод click для этого.
moveToSelectedTab(tabName: string) {
for (let i =0; i< document.querySelectorAll('.mat-tab-label-content').length; i++) {
if ((<HTMLElement>document.querySelectorAll('.mat-tab-label-content')[i]).innerText == tabName)
{
(<HTMLElement>document.querySelectorAll('.mat-tab-label')[i]).click();
}
}
}
Демонстрация, показывающая переключение вкладки с кнопки, присутствующей в содержимом другой вкладки