element NavMenu多级导航菜单渲染

第一步:新建一个组件navMenu.vue

html

<label v-for="(item, index) in navlist" :key="index">
	<el-submenu
        v-show="item.adminMenu.menuType == 'list'"
        :index="item.adminMenu.index.toString()"
        @mouseenter.native="collapseOpen(index)"
        @mouseleave.native="collapseClose(index)"
        @click="menuClick(item.adminMenu.index)">
      <template slot="title">
        <i
          :class="[
            item.adminMenu.icon,
            { legend: isHover && select === index },
          ]"
        ></i>
        <span :class="{legend: isHover && select === index}">{{ item.adminMenu.d_department }}</span>
      </template>
      <NavMenu :navlist="item.children"></NavMenu>
    </el-submenu>
    <el-menu-item
      v-show="item.adminMenu.menuType == 'page'"
      :index="item.adminMenu.index.toString()"
      @mouseenter.native="collapseOpen(index)"
      @mouseleave.native="collapseClose(index)"
      @click="menuClick(item.adminMenu.index)"
    >
      <template slot="title">
        <!-- <i class="el-icon-s-cooperation"></i> -->
        <i
          :class="[
            item.adminMenu.icon,
            { legend: isHover && select === index },
          ]"
        ></i>
        <span :class="{legend: isHover && select === index}">{{ item.adminMenu.d_department }}</span>
      </template>
    </el-menu-item>
    <el-menu-item
      v-show="item.adminMenu.menuType == 'menu'"
      :index="item.adminMenu.index.toString()"
      @mouseenter.native="collapseOpen(index)"
      @mouseleave.native="collapseClose(index)"
      @click="menuClick(item.adminMenu.index)">
      <i
          :class="[
            item.adminMenu.icon,
            { legend: isHover && select === index },
          ]"
        ></i>
      <span slot="title" :class="{legend: isHover && select === index}">{{ item.adminMenu.d_department }}</span>
    </el-menu-item>      
</label>

javaScript

props: ["navlist"]
第二步:页面引用组件

html

<el-menu
	:default-active="$route.path"
    class="el-menu-vertical-demo"
    :collapse-transition="false"
    :unique-opened="true"
    @select="activationBtn"
    :collapse="$store.state.isCollapse"
>
    <NavMenu :navlist="list"></NavMenu>
</el-menu>

javaScript

// 假数据
list: [
        {
          adminMenu: {
            d_id: "",
            d_pid: "0",
            d_department: "系统首页",
            menuType: "list",
            index: "1",
            icon: 'iconfont icon-shouye-'
          },
          children: [
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "工作台",
                menuType: "page",
                index: "1-1",
              },
            },
            {
              adminMenu: {
                d_id: "daf54c5d-a5d1-c045-677e-d0cffcaf4d9a",
                d_pid: "18340fd9-84bf-f470-b20b-428c70edbbc5",
                d_department: "数据统计",
                menuType: "page",
                index: "1-2",
              },
            },
          ],
        },
        {
          adminMenu: {
            d_id: "",
            d_pid: "0",
            d_department: "栏目管理",
            menuType: "menu",
            index: "/programManagement",
            icon: 'iconfont icon-liebiao-copy1'
          },
        },
        {
          adminMenu: {
            d_id: "",
            d_pid: "0",
            d_department: "文章管理",
            menuType: "list",
            index: "3",
            icon: 'iconfont icon-wenzhang2'
          },
          children: [
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "文章列表",
                menuType: "page",
                index: "/essay"
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "文章分类",
                menuType: "page",
                index: "/essaycategory"
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "文章标签",
                menuType: "page",
                index: "/essay/tags"
              },
            },
          ],
        },
        {
          adminMenu: {
            d_id: "",
            d_pid: "0",
            d_department: "产品管理",
            menuType: "list",
            index: "4",
            icon: 'iconfont icon-chanpin'
          },
          children: [
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "产品列表",
                menuType: "page",
                index: "/product"
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "产品分类",
                menuType: "page",
                index: "/productCategory"
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "产品标签",
                menuType: "page",
                index: "/productTags"
              },
            },
          ],
        },
        {
          adminMenu: {
            d_id: "",
            d_pid: "0",
            d_department: "图片管理",
            menuType: "list",
            index: "5",
            icon: 'iconfont icon-tupian'
          },
          children: [
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "图片列表",
                menuType: "page",
                index: "5-1",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "设置水印",
                menuType: "page",
                index: "5-2",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "图片分类",
                menuType: "page",
                index: "/pictureCategory",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "图片标签",
                menuType: "page",
                index: "/pictureTags",
              },
            },
          ],
        },
        {
          adminMenu: {
            d_id: "",
            d_pid: "0",
            d_department: "视频管理",
            menuType: "list",
            index: "6",
            icon: 'iconfont icon-video-fill'
          },
          children: [
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "视频列表",
                menuType: "page",
                index: "6-1",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "设置水印",
                menuType: "page",
                index: "6-2",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "视频分类",
                menuType: "page",
                index: "6-3",
              },
            },
          ],
        },
        {
          adminMenu: {
            d_id: "",
            d_pid: "0",
            d_department: "文件管理",
            menuType: "list",
            index: "7",
            icon: 'iconfont icon-wenjian'
          },
          children: [
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "文件列表",
                menuType: "page",
                index: "/fileList",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "文件分类",
                menuType: "page",
                index: "/fileCategory",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "文件标签",
                menuType: "page",
                index: "/fileTags",
              },
            },
          ],
        },
        {
          adminMenu: {
            d_id: "",
            d_pid: "0",
            d_department: "留言管理",
            menuType: "menu",
            index: "8",
            icon: 'iconfont icon-liuyanfill'
          },
        },
        {
          adminMenu: {
            d_id: "",
            d_pid: "0",
            d_department: "拓展项管理",
            menuType: "list",
            index: "9",
            icon: 'iconfont icon-icon_huabanfuben'
          },
          children: [
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "友情链接",
                menuType: "page",
                index: "9-1",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "网站联系信息",
                menuType: "page",
                index: "9-2",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "自媒体账号",
                menuType: "page",
                index: "9-3",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "隐私条款&版权信息",
                menuType: "page",
                index: "9-4",
              },
            },
          ],
        },
        {
          adminMenu: {
            d_id: "",
            d_pid: "0",
            d_department: "系统设置",
            menuType: "list",
            index: "10",
            icon: 'iconfont icon-weibiaoti103'
          },
          children: [
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "网站设置",
                menuType: "page",
                index: "10-1",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "用户管理",
                menuType: "page",
                index: "10-2",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "敏感词设置",
                menuType: "page",
                index: "10-3",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "配置管理",
                menuType: "page",
                index: "10-4",
              },
            },
            {
              adminMenu: {
                d_id: "",
                d_pid: "",
                d_department: "操作日志",
                menuType: "page",
                index: "10-5",
              },
            },
          ],
        },
      ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值