el-menu 有一级二级三级菜单

效果如下

菜单代码如下

复制代码
  <el-menu
          :default-active="menuDefaultActive"
          class="el-menu-box"
          :text-color="menuTextColor"
          :active-text-color="menuActiveTextColor"
          :unique-opened="true"
        >
          <!-- 一级菜单 -->
          <template v-for="item in appMenuInfoList">
            <el-submenu
              v-if="item.menuList && item.menuList.length"
              :index="item.onlyID"
              :key="item.index"
              class="second_menu"
            >
              <template slot="title">
                <i :class="item.icon" v-if="item.icon" />
                <span v-if="item.systemName">{{
                  item.systemName
                }}</span></template
              >
              <!-- 二级菜单 -->
              <template v-for="itemChild in item.menuList">
                <el-submenu
                  v-if="itemChild.menuList && itemChild.menuList.length"
                  :index="itemChild.onlyID"
                  :key="itemChild.index"
                  class="last_menu"
                >
                  <template slot="title"
                    ><span>
                      {{ itemChild.sysName || itemChild.systemName }}</span
                    ></template
                  >
                  <!-- 三级菜单 -->
                  <el-menu-item
                    v-for="itemChild_Child in itemChild.menuList"
                    :index="itemChild_Child.onlyID"
                    :key="itemChild_Child.index"
                    @click="handleMenuSelect(itemChild_Child)"
                  >
                    <span slot="title"
                      >{{
                        itemChild_Child.sysName || itemChild_Child.systemName
                      }}
                    </span>
                  </el-menu-item>
                </el-submenu>
                <el-menu-item
                  v-else
                  :index="itemChild.onlyID"
                  :key="itemChild.index"
                  @click="handleMenuSelect(itemChild)"
                  ><span slot="title">
                    {{ itemChild.sysName || itemChild.systemName }}</span
                  ></el-menu-item
                >
              </template>
            </el-submenu>
            <el-menu-item
              v-else
              :index="item.onlyID"
              :key="item.index"
              @click="handleMenuSelect(item)"
              ><span slot="title">
                {{ item.sysName || item.systemName }}</span
              ></el-menu-item
            >
          </template>
        </el-menu>
相关推荐
雪芽蓝域zzs8 天前
第7节:多选模式、自定义选项渲染、受控弹窗显隐
vue.js·elementui
雪芽蓝域zzs9 天前
第6节:远程搜索弹窗(remote 模式),弹窗滚动加载分页
vue.js·elementui
雪芽蓝域zzs9 天前
第4节:el-select 弹窗事件控制(打开 / 关闭、选中事件、弹窗滚动事件)
vue.js·elementui
ss27310 天前
AI全栈实战 | 2.3-01 组件库实战:Element Plus 怎么搭出专业界面,过度封装为什么成维护负担
前端·javascript·elementui·vue
雪芽蓝域zzs10 天前
第3节:el-select 弹窗定位、滚动穿透与挂载容器(popper-append-to-body /teleported)
vue.js·elementui
雪芽蓝域zzs10 天前
第 2 节:基础扩展 - 下拉弹窗常用原生属性
vue.js·elementui
雪芽蓝域zzs11 天前
Vue3 + Element Plus el-select 下拉弹窗
vue.js·elementui
朱 欢 庆14 天前
el-table 表格组件二次封装
javascript·vue.js·elementui
ℋᙚᵐⁱᒻᵉ鲸落22 天前
ETypeError: nameRef.value?.focus is not a functio. 设置el-input自动聚焦时报错
前端·javascript·vue.js·elementui
愛芳芳25 天前
基于 Electron + Vue3 的仿 PC 微信客户端项目实战
前端·javascript·css·elementui·typescript·electron·vue