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>

父组件中使用实例:

相关推荐
她说可以呀6 小时前
Vue插槽
前端·javascript·vue.js
qq_448011166 小时前
Vue + Jinja2两套模版与法冲突造成undefinedError
前端·javascript·vue.js
FRing039 小时前
JavaScript入门到精通三十二(深拷贝、浅拷贝、递归函数)
开发语言·前端·javascript
兰亭妙微UI设计公司11 小时前
兰亭妙微ui设计公司分享:B端组件命名如何支持团队协作
前端·javascript·vue.js
小大宇12 小时前
Vue知识点-ElementPlus-03提示框+询问+通知
前端·javascript·vue.js
前端技术官12 小时前
前端的技术判断力是怎么练出来的?
javascript·web前端·localstorage·debounce·弱网处理
程序员大阳14 小时前
副队长JavaScript教程(60)-BOM 初识:window 对象与浏览器模型
javascript·bom·window对象·浏览器模型
web打印社区14 小时前
Chrome-kiosk-printing能上生产吗
开发语言·前端·javascript·chrome·websocket
志尊宝14 小时前
AI原生前端开发(041):AI辅助的状态管理(Zustand/Pinia)
前端·javascript·ai-native
Geoffwo14 小时前
DSH-SKILL基础
javascript