I have a mat-tab group with different tabs. I want to detect click on the active tab header.
Eg. I have 2 tabs- a company tab and a users tab and inside each tab there are 2 views - a list view view and a detailed view. Initially I want to load the list and on clicking on an item, want to go to the corresponding item's detailed view. But If I click on the tab header again I want to goto the list view again.
There are events like (selectedTabChange
) which detects if tab is changed but since I am inside the same tab, it is not getting emitted. Any help.?
<mat-tab-group class="theme-specific-tabs account-page-tabs" [(selectedIndex)]="selectedTab" (selectedIndexChange)="accountTabOnIndexChange($event)">
This is a hack, but it should work. Note that the
setTimeout()
call is necessary because it seems like the tab change happens before the click event gets to our callback, so we need to delay saving the selected tab index until the click event has completed propagation. That is also why we can't simply check for the active tab index fromMatTab
.Here it is on stackblitz.