Commit e16de956 authored by guxukai's avatar guxukai

fix: 折叠菜单重复获取路由的bug

parent 6abd5d2b
<template>
<g-query-wrapper :data="menuData" :loading="menuLoading" :error="menuError" :run="menuRun">
<aside-menu-item
v-for="menu in $router.options.routes
.find(_ => _.name === 'default')
.children.filter(_ => _.meta.showInAsideMenu)"
:key="menu.name"
:menu="menu"
/>
<el-menu
:default-active="currentActiveRoute"
:background-color="themeFlag === 'light' ? 'transparent' : isCollapse ? '#151930' : '#1f2a37'"
:text-color="themeFlag === 'light' ? '#374151' : '#ffffff'"
:active-text-color="themeFlag === 'light' ? '#047857' : '#6EE7B7'"
:collapse="isCollapse"
:default-openeds="['home']"
class="border-none"
>
<aside-menu-item
v-for="menu in $router.options.routes
.find(_ => _.name === 'default')
.children.filter(_ => _.meta.showInAsideMenu)"
:key="menu.name"
:menu="menu"
/>
</el-menu>
</g-query-wrapper>
</template>
<script lang="ts">
......@@ -23,16 +33,25 @@ import { useRequest } from 'vue-request'
import { AuthMenuInfo } from '@shared/models/auth-service/AuthMenuInfo'
import { GATEWAY_CODE } from '@shared/http/constants'
import { filterAsyncRoutes, hasPermission } from '@shared/utils/route-utils'
import { computed } from 'vue'
const props = defineProps({
enableRouteFilter: {
type: Boolean,
default: false,
},
themeFlag: {
type: String,
},
isCollapse: {
type: Boolean,
default: false,
},
})
const $router = useRouter()
const $route = useRoute()
const userStore = useUser()
const authStore = useAuth()
const currentActiveRoute = computed(() => $route.name as string)
const {
data: menuData,
loading: menuLoading,
......
......@@ -29,17 +29,7 @@
:class="[isCollapse ? 'bg-[#151930]' : 'bg-[#1f2a37]']"
style="height: 1px"
></div>
<el-menu
:default-active="currentActiveRoute"
:background-color="themeFlag === 'light' ? 'transparent' : isCollapse ? '#151930' : '#1f2a37'"
:text-color="themeFlag === 'light' ? '#374151' : '#ffffff'"
:active-text-color="themeFlag === 'light' ? '#047857' : '#6EE7B7'"
:collapse="isCollapse"
:default-openeds="['home']"
class="border-none"
>
<aside-menu-list :enable-route-filter="enableRouteFilter" />
</el-menu>
<aside-menu-list :enable-route-filter="enableRouteFilter" :theme-flag="themeFlag" :is-collapse="isCollapse" />
</div>
</div>
</el-aside>
......@@ -144,7 +134,6 @@ const layoutStore = useLayout()
const PROJECT_NAME = process.env.APP_NAME
const $route = useRoute()
const $router = useRouter()
const currentActiveRoute = computed(() => $route.name as string)
const breadcrumbList = computed(() => layoutStore.breadcrumbList)
const localeList: { key: LocaleType; value: string }[] = [
{
......
......@@ -19,4 +19,5 @@ export const i18n = createI18n({
...enLocale,
},
},
silentTranslationWarn: true,
})
......@@ -4,5 +4,6 @@ declare module 'vue-router' {
interface RouteMeta {
title?: string
level?: number
showInAsideMenu?: boolean
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment