Skip to content

Commit a868e13

Browse files
committed
simplify
1 parent 8f5fc95 commit a868e13

File tree

2 files changed

+3
-36
lines changed

2 files changed

+3
-36
lines changed

core/src/components/tab-button/tab-button.tsx

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,6 @@ export class TabButton implements ComponentInterface, AnchorInterface {
8585
*/
8686
@Event() ionTabButtonClick!: EventEmitter<TabButtonClickEventDetail>;
8787

88-
@Listen('ionTabBarLoaded', { target: 'window' })
89-
onTabBarLoaded(ev: Event) {
90-
// Only respond to events from our direct parent tab-bar
91-
const parent = this.el.parentElement;
92-
if (parent && parent.tagName === 'ION-TAB-BAR' && ev.target === parent) {
93-
this.syncWithTabBar();
94-
}
95-
}
96-
9788
@Listen('ionTabBarChanged', { target: 'window' })
9889
onTabBarChanged(ev: CustomEvent<TabBarChangedEventDetail>) {
9990
const dispatchedFrom = ev.target as HTMLElement;
@@ -114,17 +105,6 @@ export class TabButton implements ComponentInterface, AnchorInterface {
114105
}
115106
}
116107

117-
private syncWithTabBar() {
118-
const tabBar = this.el.parentElement as HTMLIonTabBarElement | null;
119-
if (tabBar && tabBar.tagName === 'ION-TAB-BAR') {
120-
// Check both the property and attribute to handle all initialization scenarios
121-
const selectedTab = tabBar.selectedTab ?? tabBar.getAttribute('selected-tab');
122-
if (selectedTab !== null && selectedTab !== undefined) {
123-
this.selected = this.tab === selectedTab;
124-
}
125-
}
126-
}
127-
128108
private selectTab(ev: Event | KeyboardEvent) {
129109
if (this.tab !== undefined) {
130110
if (!this.disabled) {

core/src/components/tabs/tabs.tsx

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -75,23 +75,10 @@ export class Tabs implements NavOutlet {
7575

7676
private updateTabBar() {
7777
const tabBar = this.el.querySelector('ion-tab-bar');
78-
if (!tabBar) {
79-
return;
80-
}
81-
82-
const tab = this.selectedTab ? this.selectedTab.tab : undefined;
83-
84-
// If tabs has no selected tab but tab-bar already has a selected-tab set,
85-
// don't overwrite it. This handles cases where tab-bar is used without ion-tab elements.
86-
if (tab === undefined) {
87-
return;
78+
if (tabBar) {
79+
const tab = this.selectedTab ? this.selectedTab.tab : undefined;
80+
tabBar.selectedTab = tab;
8881
}
89-
90-
if (tabBar.selectedTab === tab) {
91-
return;
92-
}
93-
94-
tabBar.selectedTab = tab;
9582
}
9683

9784
/**

0 commit comments

Comments
 (0)