MyBread.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <template>
  2. <div>
  3. <el-breadcrumb separator="/">
  4. <el-breadcrumb-item :to="{ path: '/home' }">Dashboard</el-breadcrumb-item>
  5. <el-breadcrumb-item v-for="(item, index) in levelList" :key="index">{{
  6. item.meta.name
  7. }}</el-breadcrumb-item>
  8. </el-breadcrumb>
  9. <!-- <div v-for="(item,index) in levelList">
  10. {{item.path}}
  11. </div> -->
  12. </div>
  13. </template>
  14. <script>
  15. import { mapMutations } from "vuex";
  16. export default {
  17. name: "my-bread",
  18. props: {
  19. tableData: {
  20. type: Array,
  21. require: true,
  22. default: function () {
  23. return [];
  24. },
  25. },
  26. },
  27. data() {
  28. return {
  29. levelList: [],
  30. };
  31. },
  32. methods: {
  33. ...mapMutations(["CURRENT_MENU"]),
  34. getBreadcrumb() {
  35. let matched = this.$route.matched.filter((item) => item.name);
  36. matched.splice(0, 1);
  37. // const first = matched[0];
  38. // if (
  39. // first &&
  40. // first.name.trim().toLocaleLowerCase() !==
  41. // "Dashboard".toLocaleLowerCase()
  42. // ) {
  43. // matched = [{ path: "/home", meta: { name: "dashboard" } }].concat(
  44. // matched
  45. // );
  46. // console.log(matched, "gaijian");
  47. // }
  48. this.levelList = matched;
  49. },
  50. },
  51. watch: {
  52. $route() {
  53. this.getBreadcrumb();
  54. },
  55. },
  56. created() {
  57. this.getBreadcrumb();
  58. },
  59. };
  60. </script>
  61. <style lang="scss" scoped>
  62. </style>