fix(vue): query strings are now correctly handled when navigating back (#22615)

resolves #22517
This commit is contained in:
Liam DeBeasi
2020-12-07 15:17:31 -05:00
committed by GitHub
parent 818e387fe8
commit a94e2a87fb

View File

@ -1,4 +1,5 @@
import {
parseQuery,
Router,
RouteLocationNormalized,
NavigationFailure
@ -90,7 +91,7 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) =>
if (routeInfo.lastPathname === routeInfo.pushedByRoute) {
router.back();
} else {
router.replace(prevInfo.pathname + (prevInfo.search || ''));
router.replace({ path: prevInfo.pathname, query: parseQuery(prevInfo.search) });
}
} else {
handleNavigate(defaultHref, 'pop', 'back');
@ -236,7 +237,7 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) =>
const newRouteInfo = { ...routeInfo };
newRouteInfo.pathname = originalHref;
incomingRouteParams = { ...newRouteInfo, routerAction: 'pop', routerDirection: 'back' };
router.push(newRouteInfo.pathname + (newRouteInfo.search || ''));
router.push({ path: newRouteInfo.pathname, query: parseQuery(newRouteInfo.search) });
}
}
@ -245,8 +246,6 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) =>
const [pathname] = path.split('?');
if (routeInfo) {
const search = (routeInfo.search) ? `?${routeInfo.search}` : '';
incomingRouteParams = {
...incomingRouteParams,
routerAction: 'push',
@ -262,9 +261,9 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) =>
* tab you are on.
*/
if (routeInfo.pathname === pathname) {
router.push(routeInfo.pathname + search);
router.push({ path: routeInfo.pathname, query: parseQuery(routeInfo.search) });
} else {
router.push(pathname + search);
router.push({ path: pathname, query: parseQuery(routeInfo.search) });
}
}
else {