From 06d52deb60040d968c3f69d625f9cd52ecbdac4c Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期二, 22 四月 2025 11:48:56 +0800 Subject: [PATCH] 优化代码 --- src/components/TopNav/index.vue | 46 +++++++++++++++++++++++++++++++++++----------- 1 files changed, 35 insertions(+), 11 deletions(-) diff --git a/src/components/TopNav/index.vue b/src/components/TopNav/index.vue index 58b2000..15dee7e 100644 --- a/src/components/TopNav/index.vue +++ b/src/components/TopNav/index.vue @@ -6,10 +6,12 @@ :ellipsis="false" > <template v-for="(item, index) in topMenus"> - <el-menu-item :style="{'--theme': theme}" :index="item.path" :key="index" v-if="index < visibleNumber" - ><svg-icon :icon-class="item.meta.icon" /> - {{ item.meta.title }}</el-menu-item - > + <el-menu-item :style="{'--theme': theme}" :index="item.path" :key="index" v-if="index < visibleNumber"> + <svg-icon + v-if="item.meta && item.meta.icon && item.meta.icon !== '#'" + :icon-class="item.meta.icon"/> + {{ item.meta.title }} + </el-menu-item> </template> <!-- 椤堕儴鑿滃崟瓒呭嚭鏁伴噺鎶樺彔 --> @@ -19,10 +21,12 @@ <el-menu-item :index="item.path" :key="index" - v-if="index >= visibleNumber" - ><svg-icon :icon-class="item.meta.icon" /> - {{ item.meta.title }}</el-menu-item - > + v-if="index >= visibleNumber"> + <svg-icon + v-if="item.meta && item.meta.icon && item.meta.icon !== '#'" + :icon-class="item.meta.icon"/> + {{ item.meta.title }} + </el-menu-item> </template> </el-sub-menu> </el-menu> @@ -59,7 +63,7 @@ routers.value.map((menu) => { if (menu.hidden !== true) { // 鍏煎椤堕儴鏍忎竴绾ц彍鍗曞唴閮ㄨ烦杞� - if (menu.path === "/") { + if (menu.path === '/' && menu.children) { topMenus.push(menu.children[0]); } else { topMenus.push(menu); @@ -96,9 +100,9 @@ let activePath = path; if (path !== undefined && path.lastIndexOf("/") > 0 && hideList.indexOf(path) === -1) { const tmpPath = path.substring(1, path.length); - activePath = "/" + tmpPath.substring(0, tmpPath.indexOf("/")); if (!route.meta.link) { - appStore.toggleSideBarHide(false); + activePath = "/" + tmpPath.substring(0, tmpPath.indexOf("/")); + appStore.toggleSideBarHide(false); } } else if(!route.children) { activePath = path; @@ -189,4 +193,24 @@ padding: 0 5px !important; margin: 0 10px !important; } + +/* 鑳屾櫙鑹查殣钘� */ +.topmenu-container.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus, .topmenu-container.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover, .topmenu-container.el-menu--horizontal>.el-submenu .el-submenu__title:hover { + background-color: #ffffff; +} + +/* 鍥炬爣鍙抽棿璺� */ +.topmenu-container .svg-icon { + margin-right: 4px; +} + +/* topmenu more arrow */ +.topmenu-container .el-sub-menu .el-sub-menu__icon-arrow { + position: static; + vertical-align: middle; + margin-left: 8px; + margin-top: 0px; +} + + </style> -- Gitblit v1.9.3