From 57dd6948d490a51b5d1f2ae60cc659856384694f Mon Sep 17 00:00:00 2001 From: "Manu Mtz.-Almeida" Date: Fri, 16 Feb 2018 17:30:48 +0100 Subject: [PATCH] fix(tabs): blank tab --- packages/core/src/components/tabs/tabs.tsx | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/core/src/components/tabs/tabs.tsx b/packages/core/src/components/tabs/tabs.tsx index 55f3df575f..51f9e83a32 100644 --- a/packages/core/src/components/tabs/tabs.tsx +++ b/packages/core/src/components/tabs/tabs.tsx @@ -100,6 +100,7 @@ export class Tabs implements NavOutlet { // @Listen('ionSelect') protected tabChange(ev: CustomEvent) { const selectedTab = ev.detail as HTMLIonTabElement; + debugger; this.select(selectedTab); } @@ -107,7 +108,7 @@ export class Tabs implements NavOutlet { * @param {number|Tab} tabOrIndex Index, or the Tab instance, of the tab to select. */ @Method() - select(tabOrIndex: number | HTMLIonTabElement): Promise { + select(tabOrIndex: number | HTMLIonTabElement): Promise { const selectedTab = (typeof tabOrIndex === 'number' ? this.getByIndex(tabOrIndex) : tabOrIndex); if (!selectedTab) { return Promise.resolve(); @@ -124,13 +125,15 @@ export class Tabs implements NavOutlet { return selectedTab.setActive() .then(() => { - if (leavingTab) { - leavingTab.active = false; - } selectedTab.selected = true; - this.selectedTab = selectedTab; - this.ionChange.emit(selectedTab); - this.ionNavChanged.emit({isPop: false}); + if (leavingTab && leavingTab !== selectedTab) { + leavingTab.active = false; + this.selectedTab = selectedTab; + this.ionChange.emit(selectedTab); + this.ionNavChanged.emit({isPop: false}); + return true; + } + return false; }); }