This commit is contained in:
2026-01-26 10:01:44 +08:00
parent 3f58d013ca
commit 2a9cb82fef
9 changed files with 494 additions and 527 deletions

View File

@@ -1,26 +1,28 @@
<template><template v-for="menu in menuList" :key="menu.path">
<!-- 有子菜单 -->
<el-sub-menu v-if="hasChildren(menu) && !menu.meta?.hidden" :index="menu.path">
<template #title>
<template>
<template v-for="menu in menuList" :key="menu.path">
<!-- 有子菜单 -->
<el-sub-menu v-if="hasChildren(menu) && !menu.meta?.hidden" :index="menu.path">
<template #title>
<el-icon v-if="menu.meta?.icon">
<component :is="menu.meta.icon" />
</el-icon>
<span>{{ menu.meta?.title }}</span>
</template>
<!-- 递归渲染子菜单 -->
<menu-item :menu-list="menu.children" :parent-path="menu.path" />
</el-sub-menu>
<!-- 无子菜单 -->
<el-menu-item v-else-if="!menu.meta?.hidden" :index="menu.path">
<el-icon v-if="menu.meta?.icon">
<component :is="menu.meta.icon" />
</el-icon>
<span>{{ menu.meta?.title }}</span>
</template>
<!-- 递归渲染子菜单 -->
<menu-item :menu-list="menu.children" :parent-path="menu.path" />
</el-sub-menu>
<!-- 无子菜单 -->
<el-menu-item v-else-if="!menu.meta?.hidden" :index="menu.path">
<el-icon v-if="menu.meta?.icon">
<component :is="menu.meta.icon" />
</el-icon>
<template #title>
<span>{{ menu.meta?.title }}</span>
</template>
</el-menu-item>
</template></template>
<template #title>
<span>{{ menu.meta?.title }}</span>
</template>
</el-menu-item>
</template>
</template>
<script setup>
defineOptions({