Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit cef02a3

Browse files
committed
perf: using "router" mode of el-menu.
1 parent a1df8ee commit cef02a3

File tree

2 files changed

+9
-12
lines changed

2 files changed

+9
-12
lines changed

src/views/layout/components/Sidebar/SidebarItem.vue

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
<template>
22
<div v-if="!item.hidden&&item.children" class="menu-wrapper">
33

4-
<router-link v-if="hasOneShowingChildren(item.children) && !item.children[0].children&&!item.alwaysShow" :to="resolvePath(item.children[0].path)">
5-
<el-menu-item :index="resolvePath(item.children[0].path)" :class="{'submenu-title-noDropdown':!isNest}">
6-
<svg-icon v-if="item.children[0].meta&&item.children[0].meta.icon" :icon-class="item.children[0].meta.icon"></svg-icon>
7-
<span v-if="item.children[0].meta&&item.children[0].meta.title" slot="title">{{generateTitle(item.children[0].meta.title)}}</span>
8-
</el-menu-item>
9-
</router-link>
4+
<el-menu-item v-if="hasOneShowingChildren(item.children) && !item.children[0].children&&!item.alwaysShow" :index="resolvePath(item.children[0].path)" :class="{'submenu-title-noDropdown':!isNest}">
5+
<svg-icon v-if="item.children[0].meta&&item.children[0].meta.icon" :icon-class="item.children[0].meta.icon"></svg-icon>
6+
<span v-if="item.children[0].meta&&item.children[0].meta.title" slot="title">{{generateTitle(item.children[0].meta.title)}}</span>
7+
</el-menu-item>
108

119
<el-submenu v-else :index="item.name||item.path">
1210
<template slot="title">
@@ -17,12 +15,10 @@
1715
<template v-for="child in item.children" v-if="!child.hidden">
1816
<sidebar-item :is-nest="true" class="nest-menu" v-if="child.children&&child.children.length>0" :item="child" :key="child.path" :base-path="resolvePath(child.path)"></sidebar-item>
1917

20-
<router-link v-else :to="resolvePath(child.path)" :key="child.name">
21-
<el-menu-item :index="resolvePath(child.path)">
22-
<svg-icon v-if="child.meta&&child.meta.icon" :icon-class="child.meta.icon"></svg-icon>
23-
<span v-if="child.meta&&child.meta.title" slot="title">{{generateTitle(child.meta.title)}}</span>
24-
</el-menu-item>
25-
</router-link>
18+
<el-menu-item v-else :index="resolvePath(child.path)" :key="child.name">
19+
<svg-icon v-if="child.meta&&child.meta.icon" :icon-class="child.meta.icon"></svg-icon>
20+
<span v-if="child.meta&&child.meta.title" slot="title">{{generateTitle(child.meta.title)}}</span>
21+
</el-menu-item>
2622
</template>
2723
</el-submenu>
2824

src/views/layout/components/Sidebar/index.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
background-color="#304156"
99
text-color="#bfcbd9"
1010
active-text-color="#409EFF"
11+
router
1112
>
1213
<sidebar-item v-for="route in permission_routers" :key="route.name" :item="route" :base-path="route.path"></sidebar-item>
1314
</el-menu>

0 commit comments

Comments
 (0)