Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cocktail-party-server
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cocktail-party
cocktail-party-server
Commits
262d9e1f
提交
262d9e1f
authored
11月 22, 2024
作者:
RuoYi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
菜单面包屑导航支持多层级显示
上级
ab379568
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
35 行增加
和
9 行删除
+35
-9
index.vue
ruoyi-ui/src/components/Breadcrumb/index.vue
+35
-9
没有找到文件。
ruoyi-ui/src/components/Breadcrumb/index.vue
浏览文件 @
262d9e1f
<
template
>
<
template
>
<el-breadcrumb
class=
"app-breadcrumb"
separator=
"/"
>
<el-breadcrumb
class=
"app-breadcrumb"
separator=
"/"
>
<transition-group
name=
"breadcrumb"
>
<transition-group
name=
"breadcrumb"
>
<el-breadcrumb-item
v-for=
"(item,index) in levelList"
:key=
"item.path"
>
<el-breadcrumb-item
v-for=
"(item,
index) in levelList"
:key=
"item.path"
>
<span
v-if=
"item.redirect === 'noRedirect' || index == levelList.length - 1"
class=
"no-redirect"
>
{{
item
.
meta
.
title
}}
</span>
<span
v-if=
"item.redirect === 'noRedirect' || index == levelList.length - 1"
class=
"no-redirect"
>
{{
item
.
meta
.
title
}}
</span>
<a
v-else
@
click
.
prevent=
"handleLink(item)"
>
{{
item
.
meta
.
title
}}
</a>
<a
v-else
@
click
.
prevent=
"handleLink(item)"
>
{{
item
.
meta
.
title
}}
</a>
</el-breadcrumb-item>
</el-breadcrumb-item>
...
@@ -31,14 +31,41 @@ export default {
...
@@ -31,14 +31,41 @@ export default {
methods
:
{
methods
:
{
getBreadcrumb
()
{
getBreadcrumb
()
{
// only show routes with meta.title
// only show routes with meta.title
let
matched
=
this
.
$route
.
matched
.
filter
(
item
=>
item
.
meta
&&
item
.
meta
.
title
)
let
matched
=
[]
const
first
=
matched
[
0
]
const
router
=
this
.
$route
const
pathNum
=
this
.
findPathNum
(
router
.
path
)
if
(
!
this
.
isDashboard
(
first
))
{
// multi-level menu
matched
=
[{
path
:
'/index'
,
meta
:
{
title
:
'首页'
}}].
concat
(
matched
)
if
(
pathNum
>
2
)
{
const
reg
=
/
\/\w
+/gi
const
pathList
=
router
.
path
.
match
(
reg
).
map
((
item
,
index
)
=>
{
if
(
index
!==
0
)
item
=
item
.
slice
(
1
)
return
item
})
this
.
getMatched
(
pathList
,
this
.
$store
.
getters
.
sidebarRouters
,
matched
)
}
else
{
matched
=
router
.
matched
.
filter
((
item
)
=>
item
.
meta
&&
item
.
meta
.
title
)
}
if
(
!
this
.
isDashboard
(
matched
[
0
]))
{
matched
=
[{
path
:
"/index"
,
meta
:
{
title
:
"首页"
}
}].
concat
(
matched
)
}
this
.
levelList
=
matched
.
filter
((
item
)
=>
item
.
meta
&&
item
.
meta
.
title
&&
item
.
meta
.
breadcrumb
!==
false
)
},
findPathNum
(
str
,
char
=
"/"
)
{
let
index
=
str
.
indexOf
(
char
)
let
num
=
0
while
(
index
!==
-
1
)
{
num
++
index
=
str
.
indexOf
(
char
,
index
+
1
)
}
return
num
},
getMatched
(
pathList
,
routeList
,
matched
)
{
let
data
=
routeList
.
find
((
item
)
=>
item
.
path
==
pathList
[
0
])
matched
.
push
(
data
)
if
(
data
.
children
&&
pathList
.
length
)
{
pathList
.
shift
()
this
.
getMatched
(
pathList
,
data
.
children
,
matched
)
}
}
this
.
levelList
=
matched
.
filter
(
item
=>
item
.
meta
&&
item
.
meta
.
title
&&
item
.
meta
.
breadcrumb
!==
false
)
},
},
isDashboard
(
route
)
{
isDashboard
(
route
)
{
const
name
=
route
&&
route
.
name
const
name
=
route
&&
route
.
name
...
@@ -65,7 +92,6 @@ export default {
...
@@ -65,7 +92,6 @@ export default {
font-size
:
14px
;
font-size
:
14px
;
line-height
:
50px
;
line-height
:
50px
;
margin-left
:
8px
;
margin-left
:
8px
;
.no-redirect
{
.no-redirect
{
color
:
#97a8be
;
color
:
#97a8be
;
cursor
:
text
;
cursor
:
text
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论