封装el-submenu及在vue中如何使用

CSDN话题挑战赛第2期
参赛话题:前端技术分享

封装组件

<template>
  <div>
    <template v-for="(value, index) in menuData">
      <el-submenu
        v-if="value.childList.length > '0'"
        :index="value.menu.name"
        :key="index"
      >
        <template slot="title">
          <i class="el-icon-s-tools" />
          <span slot="title">{{ value.menu.name }}</span>
        </template>
        <MenuTree :menu-data="value.childList" />
      </el-submenu>
      <el-menu-item v-else :index="value.menu.path" :key="index">
        <span slot="title">{{ value.menu.name }}</span>
      </el-menu-item>
    </template>
  </div>
</template>
<script>
export default {
  name: "MenuTree",
  props: ["menuData"],
};
</script>
<style  >
</style>

在页面调用

<template>
  <div>
    <div class="aaa">
      <el-menu
        class="el-menu-vertical-demo"
        background-color="#4A5A74"
        active-text-color="#ffd04b"
        text-color="#fff"
        @select="handleSelect"
        router
      >
        <menuTree :menu-data="list" />
      </el-menu>
    </div>
  </div>
</template>

<script>
import menuTree from "../utils/menu.vue";
export default {
  props: {},
  components: {
    menuTree,
  },
  data() {
    return {
      list: [
        {
          childList: [
            {
              childList: [],
              menu: {
                name: "页面一",
                path: "/nabar/one",
              },
            },
            {
              childList: [],
              menu: {
                name: "页面二",
                path: "/nabar/two",
              },
            },
            {
              childList: [
              {
              childList: [],
              menu: {
                name: "页面3.1",
                path: "/nabar/two",
              },
            },
              ],
              menu: {
                name: "页面三",
                 path: "/nabar/three",
              },
            },
          ],
          menu: {
            createBy: "0-1",
            createTime: 1587605025,
            id: "6d68079a16b94292990f612237bd048e",
            name: "用户管理",
            parentId: "",
            path: "/#",
            updateBy: "0-1",
            updateTime: 1587610117,
          },
        },
      ],
      res: {
        data: {},
      },
    };
  },

  created() {
    // this.list = this.res.data.menuVoList;
  },

  methods: { handleSelect() {} },
};
</script>
<style  scoped>
.aaa {
  width: 400px;
}
</style>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值