From d746561ea29e61db2cfb55d2765b5548fd8b5a78 Mon Sep 17 00:00:00 2001 From: Liam DeBeasi Date: Wed, 7 Oct 2020 09:37:25 -0400 Subject: [PATCH] fix(vue): ion-tab-bar no longer throws undefined error when re-creating tabs (#22261) resolves #22255 --- packages/vue/src/components/IonTabBar.ts | 4 ++-- packages/vue/test-app/src/views/Tab1.vue | 9 ++++++--- packages/vue/test-app/src/views/Tabs.vue | 12 ++++++------ packages/vue/test-app/tests/e2e/specs/tabs.js | 19 +++++++++++++++++++ 4 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 packages/vue/test-app/tests/e2e/specs/tabs.js diff --git a/packages/vue/src/components/IonTabBar.ts b/packages/vue/src/components/IonTabBar.ts index ee4e399fdc..85079abd8d 100644 --- a/packages/vue/src/components/IonTabBar.ts +++ b/packages/vue/src/components/IonTabBar.ts @@ -9,10 +9,10 @@ export const IonTabBar = defineComponent({ // TODO types const tabs = Array.from(this.$el.querySelectorAll('ion-tab-button')) as any[]; const activeTab = tabs.find(tab => currentRoute.pathname.startsWith(tab.href)); + const tabBar = this.$refs.ionTabBar; - if (activeTab) { + if (activeTab && tabBar) { ionRouter.handleSetCurrentTab(activeTab.tab); - const tabBar = this.$refs.ionTabBar; tabBar.selectedTab = activeTab.tab; } } diff --git a/packages/vue/test-app/src/views/Tab1.vue b/packages/vue/test-app/src/views/Tab1.vue index 5a1ed75132..9d91263f6f 100644 --- a/packages/vue/test-app/src/views/Tab1.vue +++ b/packages/vue/test-app/src/views/Tab1.vue @@ -1,7 +1,10 @@ diff --git a/packages/vue/test-app/src/views/Tabs.vue b/packages/vue/test-app/src/views/Tabs.vue index 3463fce4fa..16497a81c7 100644 --- a/packages/vue/test-app/src/views/Tabs.vue +++ b/packages/vue/test-app/src/views/Tabs.vue @@ -1,5 +1,5 @@