fuyongxin
2026-06-03 00e0dbbf98347b1e47a7e0aedd41baa61f7567ed
ruoyi-ui/src/components/Breadcrumb/index.vue
@@ -41,14 +41,15 @@
          if (index !== 0) item = item.slice(1)
          return item
        })
        this.getMatched(pathList, this.$store.getters.sidebarRouters, matched)
        this.getMatched(pathList, this.$store.getters.defaultRoutes, matched)
      } else {
        matched = router.matched.filter((item) => item.meta && item.meta.title)
        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)
      this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
    },
    findPathNum(str, char = "/") {
      let index = str.indexOf(char)
@@ -60,11 +61,13 @@
      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)
      let data = routeList.find(item => item.path == pathList[0] || (item.name += '').toLowerCase() == pathList[0])
      if (data) {
        matched.push(data)
        if (data.children && pathList.length) {
          pathList.shift()
          this.getMatched(pathList, data.children, matched)
        }
      }
    },
    isDashboard(route) {
@@ -91,7 +94,6 @@
  display: inline-block;
  font-size: 14px;
  line-height: 50px;
  margin-left: 8px;
  .no-redirect {
    color: #97a8be;
    cursor: text;