Skip to content

bug: ionic-tabs inside dynamic route breaks the app. #30435

Open
@z0lo13

Description

@z0lo13

Prerequisites

Ionic Framework Version

v8.x

Current Behavior

If there is a route with 2+ tabs inside ion-tabs component, and the navigation is done for more then 2 tabs, when navigating to other route without tabs the ion-page is not being removed from DOM, which makes ionic not usable at all, since it overlays over the current page and the current page is not clickable, since it is under the ion-page that should have been removed from DOM.

Expected Behavior

ion-page containing ion-tab must be removed from dom.

Steps to Reproduce

  1. Create a dynamic route (/dynamic/:id) with 3 children (TabA, TabB and TabC)
  2. Navigate to "/dynamic/123/a"
  3. Swithc from "/dynamic/123/a" to "/dynamic/123/b" and then to "/dynamic/123/c"
  4. Navigate back to "/" you will see the tabs to be present in the bottom of "/" where they don't exist.
  5. Inspect DOM and see that both ion-pages ("/" and "/dynmic/:id") is still in DOM.

Code Reproduction URL

https://stackblitz.com/edit/ojc3imxd

Ionic Info

Ionic:

   Ionic CLI : 7.2.1 (/Users/z0lo/.nvm/versions/node/v22.12.0/lib/node_modules/@ionic/cli)

Capacitor:

   Capacitor CLI      : 7.2.0
   @capacitor/android : 7.2.0
   @capacitor/core    : 7.2.0
   @capacitor/ios     : 7.2.0

Utility:

   cordova-res : 0.15.4
   native-run  : 2.0.1

System:

   NodeJS : v22.12.0 (/Users/z0lo/.nvm/versions/node/v22.12.0/bin/node)
   npm    : 10.9.0
   OS     : macOS Unknown

Additional Information

<ion-page :key="route.params.id"> Helps a little bit but not fixing the issue, at least the ion-router-outlet is being removed. However the ion-tab-bar is still not being removed.

The issue is definetely because of the dynamic route, since if tested not in a dynamic route there is no issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions