From fd9151c94a8fa297119e7618a132cd04f6ca580f Mon Sep 17 00:00:00 2001 From: lzhe <181968431@qq.com> Date: 星期日, 21 四月 2024 23:58:27 +0800 Subject: [PATCH] 1 --- src/layout/components/NavMenu.vue | 27 +++++++++++++++++++++++---- 1 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/layout/components/NavMenu.vue b/src/layout/components/NavMenu.vue index c1b09ed..fc83c32 100644 --- a/src/layout/components/NavMenu.vue +++ b/src/layout/components/NavMenu.vue @@ -5,7 +5,12 @@ <template v-for="navMenu in navMenus" v-bind:key="navMenu"> <el-menu-item v-if="!hasChildren(navMenu)" :index="navMenu.path"> <a v-if="navMenu.meta&&navMenu.meta.type=='link'" :href="navMenu.path" target="_blank" @click.stop='()=>{}'></a> - <el-icon v-if="navMenu.meta&&navMenu.meta.icon"><component :is="navMenu.meta.icon || 'el-icon-menu'"/></el-icon> + <!-- <el-icon><Warning /></el-icon> --> + <el-icon> + <component v-if="icons.includes(navMenu.source)" :is="navMenu.source"/> + <component v-if="!icons.includes(navMenu.source)" :is="'TakeawayBox'"/> + <!-- <el-icon v-if="navMenu.meta&&navMenu.meta.icon"><component :is="navMenu.meta.icon || 'el-icon-menu'"/></el-icon> --> + </el-icon> <template #title> <span>{{navMenu.meta.title}}</span> <span v-if="navMenu.meta.tag" class="menu-tag">{{navMenu.meta.tag}}</span> @@ -13,7 +18,11 @@ </el-menu-item> <el-sub-menu v-else :index="navMenu.path"> <template #title> - <!-- <el-icon v-if="navMenu.meta&&navMenu.meta.icon"><component :is="navMenu.meta.icon || 'el-icon-menu'"/></el-icon> --> + <el-icon v-if="navMenu.parentId!='0' &&navMenu.meta&&navMenu.meta.icon"> + <component v-if="icons.includes(navMenu.source)" :is="navMenu.source"/> + <component v-if="!icons.includes(navMenu.source)" :is="'TakeawayBox'"/> + <!-- <component :is="navMenu.meta.icon || 'el-icon-menu'"/> --> + </el-icon> <span>{{navMenu.meta.title}}</span> <span v-if="navMenu.meta.tag" class="menu-tag">{{navMenu.meta.tag}}</span> </template> @@ -23,19 +32,29 @@ </template> <script> + import * as ElementPlusIconsVue from '@element-plus/icons-vue' + let icons = [] + for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + icons.push(key) + } export default { name: 'NavMenu', props: ['navMenus'], data() { - return {} + return { + icons + } }, + components: { + ...ElementPlusIconsVue + }, methods: { hasChildren(item) { return item.children && !item.children.every(item => item.meta.hidden) + //return item.parentId == '0'; } }, mounted(){ - } } </script> -- Gitblit v1.9.3