【求助】vue element 如何把这样形式的侧边菜单设置为一级菜单,已附代码,图片

问题:想把二级菜单的“仪表盘”,更改为一级菜单,不知道该如何解决

想要的效果如下:
——仪表盘(PS:一级菜单)
——系统管理(PS:一级菜单)
————系统管理(PS:二级菜单)


1、目前侧边菜单效果如下:
微信截图_20191010113113.png

2、数据结构如下:
微信截图_20191010112900.png

3、前端代码如下:

<el-menu
          collapse-transition
          :default-active="$route.path"
          class="aside-menu-test"
          background-color="#252c41"
          active-text-color="#FF6666"
          text-color="#BFCBD9"
          router
          :collapse="collapse"
        >

          <template v-for="(item,index) in $router.options.routes" v-if="item.menu=='true'">

            <el-submenu :index="item.name">
                <template slot="title">
                    <i :class="item.icon"></i>
                    <span slot="title">{{item.title}}</span>
                </template>
                <el-menu-item @click="clickroute(child.path)" v-for="(child,indexs)  in item.children" :index="child.path" :key="child.path"
                 v-if="child.menu=='true'">{{child.title}}</el-menu-item>
            </el-submenu>


          </template>
        </el-menu>

补充内容:

1、在数据库中添加字段用来判断是否是一级菜单
微信截图_20191010120143.png

2、前端代码修改如下

<el-menu
          collapse-transition
          :default-active="$route.path"
          class="aside-menu-test"
          background-color="#252c41"
          active-text-color="#FF6666"
          text-color="#BFCBD9"
          router
          :collapse="collapse"
        >

          <template v-for="(item,index) in $router.options.routes" v-if="item.menu=='true'">

            <template v-if="item.content == '1'">
               <el-menu-item :index="item.path" :key="item.path" @click="clickroute(item.path)">
                 <i :class="item.icon"></i>
                 <span slot="title">{{item.title}}</span>
               </el-menu-item>
            </template>

            <template v-else>
              <el-submenu :index="item.name">
                <template slot="title">
                  <i :class="item.icon"></i>
                  <span slot="title">{{item.title}}</span>
                </template>
                <el-menu-item @click="clickroute(child.path)" v-for="(child,indexs)  in item.children" :index="child.path" :key="child.path"
                 v-if="child.menu=='true'">{{child.title}}</el-menu-item>
              </el-submenu>
            </template>


          </template>
        </el-menu>

3、效果如图
微信截图_20191010120500.png

可以变成想要的效果,但是点击后,菜单不能高亮

阅读 4.2k
1 个回答

你这个只有多级的 根据自己级别判断下例如item.node

<template v-if="item.node">
        <!-- 多级菜单 -->
        <el-submenu>
            ...
        </el-submenu>
    </template>
    <template v-else>
        <!-- 一级菜单 -->
        <el-menu-item>
            ...
        </el-menu-item>
    </template>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题