From 15203de08bf97f27e33f35994444c2c4843b3a44 Mon Sep 17 00:00:00 2001 From: Liam DeBeasi Date: Mon, 27 Apr 2020 12:19:23 -0400 Subject: [PATCH] fix(angular): do not navigate to same tab if already active (#21085) fixes #21074, fixes #19943 --- angular/src/directives/navigation/ion-tabs.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/angular/src/directives/navigation/ion-tabs.ts b/angular/src/directives/navigation/ion-tabs.ts index ede0d54fae..016901bea4 100644 --- a/angular/src/directives/navigation/ion-tabs.ts +++ b/angular/src/directives/navigation/ion-tabs.ts @@ -91,6 +91,12 @@ export class IonTabs { const alreadySelected = this.outlet.getActiveStackId() === tab; const tabRootUrl = `${this.outlet.tabsPrefix}/${tab}`; if (alreadySelected) { + const activeStackId = this.outlet.getActiveStackId(); + const activeView = this.outlet.getLastRouteView(activeStackId); + + // If on root tab, do not navigate to root tab again + if (activeView.url === tabRootUrl) { return; } + const rootView = this.outlet.getRootView(tab); const navigationExtras = rootView && tabRootUrl === rootView.url && rootView.savedExtras; return this.navCtrl.navigateRoot(tabRootUrl, {