From 13872e2209ec1865a99a0028b3feb0d2333fff21 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Mon, 7 Jan 2019 11:17:17 +0100 Subject: [PATCH] MOBILE-2795 mainmenu: Fix tab loaded without params --- src/core/mainmenu/pages/menu/menu.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/mainmenu/pages/menu/menu.ts b/src/core/mainmenu/pages/menu/menu.ts index 4bd7b97d5..ae3f68830 100644 --- a/src/core/mainmenu/pages/menu/menu.ts +++ b/src/core/mainmenu/pages/menu/menu.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { Component, OnDestroy, ViewChild } from '@angular/core'; +import { Component, OnDestroy, ViewChild, ChangeDetectorRef } from '@angular/core'; import { IonicPage, NavController, NavParams } from 'ionic-angular'; import { CoreSitesProvider } from '@providers/sites'; import { CoreEventsProvider } from '@providers/events'; @@ -42,7 +42,7 @@ export class CoreMainMenuPage implements OnDestroy { @ViewChild('mainTabs') mainTabs: CoreIonTabsComponent; constructor(private menuDelegate: CoreMainMenuDelegate, private sitesProvider: CoreSitesProvider, navParams: NavParams, - private navCtrl: NavController, private eventsProvider: CoreEventsProvider) { + private navCtrl: NavController, private eventsProvider: CoreEventsProvider, private cdr: ChangeDetectorRef) { // Check if the menu was loaded with a redirect. const redirectPage = navParams.get('redirectPage'); @@ -138,6 +138,9 @@ export class CoreMainMenuPage implements OnDestroy { this.redirectParams = data.redirectParams; } + // Force change detection, otherwise sometimes the tab was selected before the params were applied. + this.cdr.detectChanges(); + setTimeout(() => { // Let the tab load the params before navigating. this.mainTabs.selectTabRootByIndex(i + 1);