Kaynağa Gözat

fix[Breadcurmb]: fixed router-link bug #217

Pan 6 yıl önce
ebeveyn
işleme
cc94b62282
1 değiştirilmiş dosya ile 9 ekleme ve 1 silme
  1. 9 1
      src/components/Breadcrumb/index.vue

+ 9 - 1
src/components/Breadcrumb/index.vue

@@ -3,7 +3,7 @@
3 3
     <transition-group name="breadcrumb">
4 4
       <el-breadcrumb-item v-for="(item,index) in levelList" v-if="item.meta.title" :key="item.path">
5 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||pathCompile(item.path)">{{ item.meta.title }}</router-link>
6
+        <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
7 7
       </el-breadcrumb-item>
8 8
     </transition-group>
9 9
   </el-breadcrumb>
@@ -44,6 +44,14 @@ export default {
44 44
       const { params } = this.$route
45 45
       var toPath = pathToRegexp.compile(path)
46 46
       return toPath(params)
47
+    },
48
+    handleLink(item) {
49
+      const { redirect, path } = item
50
+      if (redirect) {
51
+        this.$router.push(redirect)
52
+        return
53
+      }
54
+      this.$router.push(this.pathCompile(path))
47 55
     }
48 56
   }
49 57
 }