Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
W
web-monitor
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
web-monitor
Commits
adec74c0
Commit
adec74c0
authored
Sep 17, 2018
by
Pan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed: sidebar has no children bug
parent
8df73228
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
6 deletions
+14
-6
SidebarItem.vue
src/views/layout/components/Sidebar/SidebarItem.vue
+14
-6
No files found.
src/views/layout/components/Sidebar/SidebarItem.vue
View file @
adec74c0
<
template
>
<div
v-if=
"!item.hidden&&item.children"
class=
"menu-wrapper"
>
<template
v-if=
"hasOneShowingChild(item.children
) && !onlyOneChild.children
&&!item.alwaysShow"
>
<template
v-if=
"hasOneShowingChild(item.children
,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)
&&!item.alwaysShow"
>
<a
:href=
"onlyOneChild.path"
target=
"_blank"
@
click=
"clickLink(onlyOneChild.path,$event)"
>
<el-menu-item
:index=
"resolvePath(onlyOneChild.path)"
:class=
"
{'submenu-title-noDropdown':!isNest}">
<item
v-if=
"onlyOneChild.meta"
:icon=
"onlyOneChild.meta.icon||item.meta.icon"
:title=
"onlyOneChild.meta.title"
/>
...
...
@@ -21,8 +21,7 @@
:item=
"child"
:key=
"child.path"
:base-path=
"resolvePath(child.path)"
class=
"nest-menu"
/>
class=
"nest-menu"
/>
<a
v-else
:href=
"child.path"
:key=
"child.name"
target=
"_blank"
@
click=
"clickLink(child.path,$event)"
>
<el-menu-item
:index=
"resolvePath(child.path)"
>
<item
v-if=
"child.meta"
:icon=
"child.meta.icon"
:title=
"child.meta.title"
/>
...
...
@@ -43,7 +42,7 @@ export default {
name
:
'SidebarItem'
,
components
:
{
Item
},
props
:
{
// route
配置json
// route
object
item
:
{
type
:
Object
,
required
:
true
...
...
@@ -63,19 +62,28 @@ export default {
}
},
methods
:
{
hasOneShowingChild
(
children
)
{
hasOneShowingChild
(
children
,
parent
)
{
const
showingChildren
=
children
.
filter
(
item
=>
{
if
(
item
.
hidden
)
{
return
false
}
else
{
//
temp set(will be used if only has one showing child
)
//
Temp set(will be used if only has one showing child
)
this
.
onlyOneChild
=
item
return
true
}
})
// When there is only one child router, the child router is displayed by default
if
(
showingChildren
.
length
===
1
)
{
return
true
}
// Show parent if there are no child router to display
if
(
showingChildren
.
length
===
0
)
{
this
.
onlyOneChild
=
{
...
parent
,
path
:
''
,
noShowingChildren
:
true
}
return
true
}
return
false
},
resolvePath
(
routePath
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment