Skip to content

fix(tabs): preserve query params and fragment from tab button href#31154

Open
ShaneK wants to merge 1 commit into
mainfrom
FW-7146
Open

fix(tabs): preserve query params and fragment from tab button href#31154
ShaneK wants to merge 1 commit into
mainfrom
FW-7146

Conversation

@ShaneK
Copy link
Copy Markdown
Member

@ShaneK ShaneK commented May 19, 2026

Issue number: resolves #25470


What is the current behavior?

When an <ion-tab-button> declares an href with a query string or fragment, activating the tab drops both. In Angular, IonTabs.select navigates to tabsPrefix/tab and never reads the button's href. In Vue, the router splits the path on ? and discards everything after it, and IonTabBar compares the raw href against the pathname so a tab with query params never shows as selected. In React, this issue has been fixed as part of the RR6 migration.

What is the new behavior?

Tab activation forwards the href's query and fragment as navigation extras. A saved view's previously-captured extras still win when re-selecting a tab with prior history, so mid-stack state isn't clobbered. IonTabBar's selection check now compares pathnames only, so a tab with a query string still highlights when its pathname is active.

Added Playwright coverage in @ionic/angular and Cypress coverage in @ionic/vue for first visit, switching tabs, switching back, and re-clicking the active tab. The Vue tests will cause a conflict on merging into major-9.0, but I volunteer to fix that issue when it comes up.

Does this introduce a breaking change?

  • Yes
  • No

Other information

Preview pages:

@ShaneK ShaneK requested a review from a team as a code owner May 19, 2026 15:43
@ShaneK ShaneK requested a review from thetaPC May 19, 2026 15:43
@vercel
Copy link
Copy Markdown

vercel Bot commented May 19, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ionic-framework Ready Ready Preview, Comment May 19, 2026 3:43pm

Request Review

@github-actions github-actions Bot added package: angular @ionic/angular package package: vue @ionic/vue package labels May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

package: angular @ionic/angular package package: vue @ionic/vue package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: angular/react/vue, cannot set query param on tab buttons

1 participant