diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue index 4b321e064f7d6907ece1d39255c3a0b6c0fe4a5c..5bc7a1b8cf40881d23153cfe9ea782f5da06f6a4 100644 --- a/src/components/Breadcrumb/index.vue +++ b/src/components/Breadcrumb/index.vue @@ -1,7 +1,7 @@ <template> <el-breadcrumb class="app-breadcrumb" separator="/"> <transition-group name="breadcrumb"> - <el-breadcrumb-item v-for="(item,index) in levelList" v-if="item.meta.title&&item.meta.breadcrumb!==false" :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">{{ generateTitle(item.meta.title) }}</span> <a v-else @click.prevent="handleLink(item)">{{ generateTitle(item.meta.title) }}</a> @@ -31,16 +31,14 @@ export default { methods: { generateTitle, getBreadcrumb() { - let matched = this.$route.matched.filter(item => { - if (item.name) { - return true - } - }) + let matched = this.$route.matched.filter(item => item.name) + const first = matched[0] if (first && first.name.trim().toLocaleLowerCase() !== 'Dashboard'.toLocaleLowerCase()) { matched = [{ path: '/dashboard', meta: { title: 'dashboard' }}].concat(matched) } - this.levelList = matched + + this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false) }, pathCompile(path) { // To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561