diff --git a/mock/menu.mock.ts b/mock/menu.mock.ts index 7ef2d146..0fde33df 100644 --- a/mock/menu.mock.ts +++ b/mock/menu.mock.ts @@ -362,6 +362,7 @@ export default defineMock([ icon: "", hidden: false, roles: ["ADMIN"], + params: { type: "1" }, }, }, ], diff --git a/src/components/AppLink/index.vue b/src/components/AppLink/index.vue index c863d44e..43bbb308 100644 --- a/src/components/AppLink/index.vue +++ b/src/components/AppLink/index.vue @@ -1,5 +1,5 @@ @@ -14,20 +14,25 @@ import { isExternal } from "@/utils/index"; const props = defineProps({ to: { - type: String, + type: Object, required: true, }, }); -const isExternalLink = computed(() => isExternal(props.to)); - -const type = computed(() => { - return isExternalLink.value ? "a" : "router-link"; +const isExternalLink = computed(() => { + return isExternal(props.to.path || ""); }); -const linkProps = (to: string) => { - return isExternalLink.value - ? { href: to, target: "_blank", rel: "noopener noreferrer" } - : { to }; +const linkType = computed(() => (isExternalLink.value ? "a" : "router-link")); + +const linkProps = (to: any) => { + if (isExternalLink.value) { + return { + href: to.path, + target: "_blank", + rel: "noopener noreferrer", + }; + } + return { to: to }; }; diff --git a/src/layout/components/Sidebar/components/SidebarMenuItem.vue b/src/layout/components/Sidebar/components/SidebarMenuItem.vue index cba90fc2..625b02e9 100644 --- a/src/layout/components/Sidebar/components/SidebarMenuItem.vue +++ b/src/layout/components/Sidebar/components/SidebarMenuItem.vue @@ -8,7 +8,13 @@ !item.meta?.alwaysShow " > - + +
路由参数:{{ query }}
+ + + + +