处理多级选中菜单问题

yanfeiyong
许宏杰 4 weeks ago
parent b6e1778e99
commit c27ab8656f

@ -32,7 +32,7 @@
"nprogress": "0.2.0", "nprogress": "0.2.0",
"pinia": "^2.1.7", "pinia": "^2.1.7",
"splitpanes": "3.1.5", "splitpanes": "3.1.5",
"vue": "3.4.31", "vue": "^3.5.11",
"vue-cropper": "1.1.1", "vue-cropper": "1.1.1",
"vue-router": "4.4.0", "vue-router": "4.4.0",
"vuedraggable": "4.1.0" "vuedraggable": "4.1.0"

@ -1,8 +1,5 @@
<template> <template>
<div <div :class="{ 'has-logo': showLogo }" class="sidebar-container">
:class="{ 'has-logo': showLogo }"
class="sidebar-container"
>
<!-- <logo v-if="showLogo" :collapse="isCollapse" /> --> <!-- <logo v-if="showLogo" :collapse="isCollapse" /> -->
<div class="sever-TITLE">太仓市网络和数据资产采集管理系统</div> <div class="sever-TITLE">太仓市网络和数据资产采集管理系统</div>
<el-scrollbar wrap-class="scrollbar-wrapper"> <el-scrollbar wrap-class="scrollbar-wrapper">
@ -34,7 +31,7 @@ import SidebarItem from "./SidebarItem";
import variables from "@/assets/styles/variables.module.scss"; import variables from "@/assets/styles/variables.module.scss";
import useAppStore from "@/store/modules/app"; import useAppStore from "@/store/modules/app";
import useSettingsStore from "@/store/modules/settings"; import useSettingsStore from "@/store/modules/settings";
import usePermissionStore from "@/store/modules/permission"; import usePermissionStore from "@/store/modules/permission";
const route = useRoute(); const route = useRoute();
const appStore = useAppStore(); const appStore = useAppStore();
@ -68,7 +65,12 @@ const getMenuTextColor = computed(() => {
}); });
const activeMenu = computed(() => { const activeMenu = computed(() => {
const parentName = route.query.parentName;
const { meta, path } = route; const { meta, path } = route;
if (parentName) {
return parentName;
}
if (meta.activeMenu) { if (meta.activeMenu) {
return meta.activeMenu; return meta.activeMenu;
} }

@ -67,9 +67,9 @@ function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
if (type && route.children) { if (type && route.children) {
route.children = filterChildren(route.children); route.children = filterChildren(route.children);
} }
if (extractPrefix(route.path)) { // if (extractPrefix(route.path)) {
route.meta.activeMenu = extractPrefix(route.path); // route.meta.activeMenu = extractPrefix(route.path);
} // }
if (route.component) { if (route.component) {
// Layout ParentView 组件特殊处理 // Layout ParentView 组件特殊处理
if (route.component === "Layout") { if (route.component === "Layout") {

@ -0,0 +1,19 @@
<template>
<div>
11111
</div>
</template>
<script setup>
import { onBeforeMount } from "vue";
import { useRouter ,useRoute } from "vue-router";
const route = useRoute()
</script>
<style scoped>
div{
color: black;
}
</style>

@ -0,0 +1,16 @@
<template>
<div>
<button @click="getinfo"></button>
</div>
</template>
<script setup>
import { useRouter ,useRoute } from "vue-router";
const router = useRouter();
const getinfo = () => {
router.push({ path: "/test/info",query:{parentName:"/test/test1"} });
};
</script>
Loading…
Cancel
Save