<template>
<el-sub-menu v-if="menu.children && menu.children.length > 0" :index="menu.path">
<template #title>
<i :class="menu.icon"></i>
<span>{{ menu.title }}</span>
</template>
<menu-item
v-for="child in menu.children"
:key="child.name"
:menu="child"
></menu-item>
</el-sub-menu>
<el-menu-item v-else :index="menu.path">
<i :class="menu.icon"></i>
<template #title>{{ menu.title }}</template>
</el-menu-item>
</template>
<script setup>
import { defineProps } from 'vue'
import { ElSubMenu, ElMenuItem } from 'element-plus'
defineProps({
menu: Object
})
</script>
这个代码实例展示了如何在Vue 3中使用Element-Plus组件库来创建一个用于渲染无限级菜单的组件。el-sub-menu
用于渲染带有子菜单的项,而el-menu-item
用于渲染不带子菜单的菜单项。这个组件是递归的,可以无限嵌套子菜单项。