Vue3使用ElementPlus实现菜单的无限递归

菜单组件childrenmenu.vue

javascript 复制代码
<template>
    <template v-if=" item.children && item.children?.length > 0" >
        <el-sub-menu   :index="item.meunid">
            <template #title>
                <component v-if="item.meunicon != undefined && item.meunicon != null" class="icons" :is="item.meunicon" />
                <span style="width: 100%; text-align: center;">{{ item.meunname }}</span>
            </template>
            <childrenmenu v-for="childItem in item.children" :key="childItem.meunid" :item="childItem" />
        </el-sub-menu>
    </template>
    <template v-else>
        <el-menu-item :index="item.meunpath" :key="item.meunid">
            <component v-if="item.meunicon != undefined && item.meunicon != null" class="icons" :is="item.meunicon" />
            <span style="width: 100%; text-align: center;">{{ item.meunname }}</span>
        </el-menu-item>
    </template>
</template>
<script setup lang="ts">

const props=defineProps(['item'])
</script>
<style lang="scss" scoped>
svg {
    // width: 50%;
    height: 100%;
}
</style>

父组件中使用实例:

相关推荐
愛芳芳2 小时前
基于 Electron + Vue3 的仿 PC 微信客户端项目实战
前端·javascript·css·elementui·typescript·electron·vue
阿虎儿2 小时前
论 JavaScript 的怪异之处
javascript
gnip3 小时前
uts 插件示例:获取设备电量信息
前端·javascript
gnip3 小时前
uni-app 原生插件
前端·javascript·uni-app
gnip3 小时前
跨域常用解决方案
前端·javascript
用户298698530144 小时前
前端如何把 TXT 文本文件转成 Word 文档:React 实践
前端·javascript·react.js
OpsEye4 小时前
从代理转发到效能分析,企业 AI 网关正在发生什么样的变化
javascript·ai编程
2603_965896624 小时前
DOM文档对象模型|JS操作页面交互核心API
前端·javascript
志尊宝5 小时前
Vue3 零基础每日笔记(043):defineModel 与 defineExpose 的 TS 用法——3.4+ 新 API 进阶
前端·javascript·vue·html·vue3
YHHLAI5 小时前
从 SPA 到 Next.js 全栈:一个大前端的 SEO 突围笔记
javascript