From f28363d03c3539b0219c5b58ea8b7db37d50be6f Mon Sep 17 00:00:00 2001 From: gaoshp <291585735@qq.com> Date: 星期二, 23 四月 2024 22:34:17 +0800 Subject: [PATCH] 编辑时间轴组件 --- src/layout/components/NavMenu.vue | 28 +++++++++++++++++++++++++--- 1 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/layout/components/NavMenu.vue b/src/layout/components/NavMenu.vue index 8d4d083..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,16 +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