feat: 添加递归菜单组件 MenuItem

This commit is contained in:
张翔
2026-04-08 07:07:10 +08:00
parent b6600ad59a
commit 76a7735099
2 changed files with 108 additions and 0 deletions
@@ -0,0 +1,36 @@
<template>
<el-sub-menu
v-if="menu.children && menu.children.length > 0"
:index="String(menu.id)"
>
<template #title>
<el-icon v-if="menu.icon">
<component :is="menu.icon" />
</el-icon>
<span>{{ menu.name }}</span>
</template>
<menu-item
v-for="child in menu.children"
:key="child.id"
:menu="child"
/>
</el-sub-menu>
<el-menu-item
v-else
:index="menu.path"
>
<el-icon v-if="menu.icon">
<component :is="menu.icon" />
</el-icon>
<span>{{ menu.name }}</span>
</el-menu-item>
</template>
<script setup lang="ts">
import type { MenuItem as MenuItemType } from '@/stores/permission'
defineProps<{
menu: MenuItemType
}>()
</script>