Files
admin-web/src/components/AdminSidebarMenuNode.vue
T

26 lines
729 B
Vue
Raw Normal View History

2026-07-30 17:59:43 +08:00
<script setup lang="ts">
import type { AdminNavigationNode } from '@/navigation/adminNavigation'
defineOptions({ name: 'AdminSidebarMenuNode' })
defineProps<{
node: AdminNavigationNode
}>()
</script>
<template>
<el-sub-menu v-if="node.children?.length" :index="node.key">
<template #title>
<component :is="node.icon" :size="19" :stroke-width="1.8" />
<span>{{ node.title }}</span>
</template>
<AdminSidebarMenuNode v-for="child in node.children" :key="child.key" :node="child" />
</el-sub-menu>
<el-menu-item v-else :index="node.path || node.key">
<component :is="node.icon" :size="19" :stroke-width="1.8" />
<template #title>{{ node.title }}</template>
</el-menu-item>
</template>