fix(@vben/layouts): respect base URL when opening route in new window (#6583)

Previously, the generated URL for opening routes in a new window did not include the router base,
which led to incorrect paths when the app was deployed under a subdirectory (e.g., /admin/).
This change ensures that the resolved path includes the configured base by using
router.resolve(path).href.
pull/183/MERGE
leo 2025-07-29 13:46:05 +08:00 committed by GitHub
parent 193f5b6512
commit b93e22c45a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 1 deletions

View File

@ -32,6 +32,10 @@ function useNavigation() {
return route?.meta?.openInNewWindow ?? false;
};
const resolveHref = (path: string): string => {
return router.resolve(path).href;
};
const navigation = async (path: string) => {
try {
const route = routeMetaMap.get(path);
@ -40,7 +44,7 @@ function useNavigation() {
if (isHttpUrl(path)) {
openWindow(path, { target: '_blank' });
} else if (openInNewWindow) {
openRouteInNewWindow(path);
openRouteInNewWindow(resolveHref(path));
} else {
await router.push({
path,