Как правильно выровнять хлебные крошки с помощью Ant Design Pro of Vue? - PullRequest
0 голосов
/ 19 июня 2019

Я попытался изменить проблему конфигурации маршрутизации, но у хлебных крошек есть два идентичных списка пользователей, ошибка отображается как 首页 / 系统设置 / 用户列表 / 用户列表. Например, когда левое меню щелкает по списку пользователей, оно должно правильно отображаться 首页 / 系统设置 / 用户列表.

Ошибка отображается как:

enter image description here

Отображается правильно как:

enter image description here

router.config.js

{
        path: '/settings',
        name: 'settings',
        component: RouteView,
        redirect: '/settings/user',
        meta: { title: '设置系统', keepAlive: true, icon: bxAnaalyse },
        children: [
          {
            path: '/settings/user',
            name: 'user',
            component: RouteView,
            redirect: '/settings/user/list',
            meta: { title: '用户列表', keepAlive: false },
            hideChildrenInMenu: true,
            children: [
              {
                path: '/settings/user/list',
                name: 'user',
                component: () => import('@/views/settings/user/index'),
                meta: { title: '用户列表', keepAlive: false }
              },
              {
                path: '/settings/user/add',
                name: 'add',
                component: () => import('@/views/settings/user/add'),
                meta: { title: '新增用户', keepAlive: true, hidden: true }
              }
            ]
          },

        ]
      },

Компоненты / инструменты / Breadcrumb.vue

<template>
  <a-breadcrumb class="breadcrumb">
    <a-breadcrumb-item v-for="(item, index) in breadList" :key="item.name">

      <router-link
        v-if="item.name != name && index != 1"
        :to="{ path: item.path === '' ? '/' : item.path }"
      >{{ item.meta.title }}
      </router-link>

      <span v-else>{{ item.meta.title }}</span>
    </a-breadcrumb-item>
  </a-breadcrumb>
</template>

<script>
export default {
  data () {
    return {
      name: '',
      breadList: []
    }
  },
  created () {
    this.getBreadcrumb()
  },
  methods: {
    getBreadcrumb () {
      this.breadList = []
      // this.breadList.push({name: 'index', path: '/', meta: {title: '首页'}})

      this.name = this.$route.name
      this.$route.matched.forEach(item => {
        // item.name !== 'index' && this.breadList.push(item)
        this.breadList.push(item)
      })
    }
  },
  watch: {
    $route () {
      this.getBreadcrumb()
    }
  }
}
</script>

<style scoped>
</style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...