我在我的应用程序的主页上设计了一个元素,单击该元素会更改活动选项卡。
我曾经做过以下事情:
events.subscribe('change-tab', (tab, filterOnSport) => {
console.log('TabsPage#constructor - change-tab event received with params: ', tab, filterOnSport);
if (filterOnSport) this.findTabParams.filterOnSport = filterOnSport;
this.tabs.select(tab);
});
但这第一次不起作用,如果从未访问过上述选项卡(请参阅https://github.com/ionic-team/ionic/issues/12592)
我在 Github issue 中看到有人建议模拟点击选项卡。
我正在尝试ViewChild
这样做,但无法使其工作。
// View
<ion-tabs #tabs>
<ion-tab [root]="tab1Root" tabIcon="home"></ion-tab>
<ion-tab #findTab [root]="tab2Root" [rootParams]="findTabParams" tabIcon="search"></ion-tab>
<ion-tab [root]="tab3Root" tabIcon="chatbubbles" [tabBadge]="unread?1:null" [tabsHideOnSubPages]=true></ion-tab>
<!--<ion-tab [root]="tab3Root" tabIcon="chatbubbles" [tabBadge]="totalUnreadMessages?.$value" [tabsHideOnSubPages]=true></ion-tab>-->
</ion-tabs>
// Controller
@ViewChild('findTab') findTab: ElementRef;
...
ngAfterViewInit() {
console.log('TAB elem ', this.findTab);
// How click the tab ?
}
如何触发标签的点击功能?