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>
相关推荐
Liu.77421 小时前
Vue3结合Element Plus封装点击查看大图的自定义指令
javascript·vue.js·elementui
跟着珅聪学java2 天前
Element UI 的 Tabs 标签页开发教程
javascript·vue.js·elementui
不是山谷.:.3 天前
Axios的【接口防抖 + 请求失败重试 + 弱网提示】三合一高阶版封装
前端·javascript·vue.js·笔记·elementui·typescript
镜宇秋霖丶8 天前
2026.5.12@霖宇博客制作中遇见的问题
前端·vue.js·elementui
镜宇秋霖丶11 天前
2026.5.10@霖宇博客制作中遇见的问题
前端·vue.js·elementui
莫生灬灬11 天前
ElementUI封装 共91个组件 支持易语言/火山/C#/Python
开发语言·c++·python·ui·elementui·c#
镜宇秋霖丶12 天前
2026.5.8@霖宇博客制作中遇见的问题
前端·vue.js·elementui
MXN_小南学前端13 天前
Vue + Element UI 分页器封装:比直接用 el-pagination 更省心的通用方案
javascript·vue.js·elementui
invicinble13 天前
前端框架使用vue-cli( 第二层:工程配置层--elementui需要做的基础配置)
vue.js·elementui·前端框架
周bro16 天前
vue2+element ui 中的el-table表格 选中当前行当前行变色,单选/多选--------续集:表格样式修改整合
vue.js·ui·elementui