Jelajahi Sumber

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

Pan 6 tahun lalu
induk
melakukan
cc94b62282
1 mengubah file dengan 9 tambahan dan 1 penghapusan
  1. 9 1
      src/components/Breadcrumb/index.vue

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

@@ -3,7 +3,7 @@
     <transition-group name="breadcrumb">
       <el-breadcrumb-item v-for="(item,index) in levelList" v-if="item.meta.title" :key="item.path">
         <span v-if="item.redirect==='noredirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span>
-        <router-link v-else :to="item.redirect||pathCompile(item.path)">{{ item.meta.title }}</router-link>
+        <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
       </el-breadcrumb-item>
     </transition-group>
   </el-breadcrumb>
@@ -44,6 +44,14 @@ export default {
       const { params } = this.$route
       var toPath = pathToRegexp.compile(path)
       return toPath(params)
+    },
+    handleLink(item) {
+      const { redirect, path } = item
+      if (redirect) {
+        this.$router.push(redirect)
+        return
+      }
+      this.$router.push(this.pathCompile(path))
     }
   }
 }