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

Skip to content

Commit e254fc6

Browse files
committed
fix[Sidebar]: fixed sidebar bug when set hidden:true PanJiaChen#880
1 parent 513eb66 commit e254fc6

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

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

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +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>
4+
<router-link v-if="hasOneShowingChild(item.children) && !onlyOneChild.children&&!item.alwaysShow" :to="resolvePath(onlyOneChild.path)">
5+
<el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
6+
<svg-icon v-if="onlyOneChild.meta&&onlyOneChild.meta.icon" :icon-class="onlyOneChild.meta.icon"></svg-icon>
7+
<span v-if="onlyOneChild.meta&&onlyOneChild.meta.title" slot="title">{{generateTitle(onlyOneChild.meta.title)}}</span>
88
</el-menu-item>
99
</router-link>
1010

@@ -50,10 +50,21 @@ export default {
5050
default: ''
5151
}
5252
},
53+
data() {
54+
return {
55+
onlyOneChild: null
56+
}
57+
},
5358
methods: {
54-
hasOneShowingChildren(children) {
59+
hasOneShowingChild(children) {
5560
const showingChildren = children.filter(item => {
56-
return !item.hidden
61+
if (item.hidden) {
62+
return false
63+
} else {
64+
// temp set(will be used if only has one showing child )
65+
this.onlyOneChild = item
66+
return true
67+
}
5768
})
5869
if (showingChildren.length === 1) {
5970
return true

0 commit comments

Comments
 (0)