blob: a1da13b7b4020791e2781d0f2989fae0eb98b1e4 [file] [log] [blame]
huibing.xie1f1606f2018-08-20 15:46:55 +08001<template>
2 <el-breadcrumb class="app-breadcrumb" separator="/">
3 <transition-group name="breadcrumb">
4 <el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path" v-if="item.meta.title">
5 <span v-if="item.redirect==='noredirect'||index==levelList.length-1" class="no-redirect">{{item.meta.title}}</span>
6 <router-link v-else :to="item.redirect||item.path">{{item.meta.title}}</router-link>
7 </el-breadcrumb-item>
8 </transition-group>
9 </el-breadcrumb>
10</template>
11
12<script>
13export default {
14 created() {
15 this.getBreadcrumb()
16 },
17 data() {
18 return {
19 levelList: null
20 }
21 },
22 watch: {
23 $route() {
24 this.getBreadcrumb()
25 }
26 },
27 methods: {
28 getBreadcrumb() {
29 let matched = this.$route.matched.filter(item => item.name)
30 const first = matched[0]
31 if (first && first.name !== 'Dashboard') {
32 matched = [{ path: '/dashboard', meta: { title: '离校系统' }}].concat(matched)
33 }
34 this.levelList = matched
35 }
36 }
37}
38</script>
39
40<style rel="stylesheet/scss" lang="scss" scoped>
41 .app-breadcrumb.el-breadcrumb {
42 display: inline-block;
43 font-size: 14px;
44 line-height: 50px;
45 margin-left: 10px;
46 .no-redirect {
47 color: #97a8be;
48 cursor: text;
49 }
50 }
51</style>