0
点赞
收藏
分享

微信扫一扫

【C语言】从零开始学习数组

念川LNSC 2023-07-29 阅读 37

问题描述

el-menu直接嵌套el-menu-item菜单,折叠时不会出现文字显示和小箭头无法隐藏的问题,但是实际开发需求中难免需要把el-menu-item封装为组件

解决

vue3项目中嵌套两层template

<template>
    <template v-for="item in list" :key="item.path">
        <!--  一级路由 -->
        <el-menu-item v-if="!item.children && !item.meta?.hidden" :index="item.path">
            <el-icon size="30px">
                <component :is="item.meta?.icon"></component>
            </el-icon>
            <template #title>
                <span class="ml-1">{{ item.meta?.title }}</span>
            </template>
        </el-menu-item>
        <!--  二级路由但只有一个子项 -->
        <el-menu-item v-if="(item.meta?.single && item.children) && !item.meta?.hidden" :index="item.children[0].path">
            <el-icon size="30px">
                <component :is="item.children[0].meta?.icon"></component>
            </el-icon>
            <template #title>
                <span class="ml-1">{{ item.children[0].meta?.title }}</span>
            </template>
        </el-menu-item>
        <!--  二级路由 -->
        <el-sub-menu :index="item.path" v-if="(item.children && item.children.length > 1) && !item.meta?.hidden">
            <template #title>
                <el-icon size="30px">
                    <component :is="item.meta?.icon"></component>
                </el-icon>
                <span class="ml-1">{{ item.meta?.title }}</span>
            </template>
            <!--  递归路由 -->
            <MenuItem :list="item.children">
            </MenuItem>
        </el-sub-menu>
    </template>
</template>

效果

在这里插入图片描述

举报

相关推荐

0 条评论