From e64f4b83c8f6cd01ea352ad7040e205613ea87d3 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期五, 14 七月 2023 22:39:34 +0800 Subject: [PATCH] update 优化 toggleRowSelection 缺失一个参数警告问题 --- src/components/TopNav/index.vue | 50 ++++++++++++++++++++++++++++---------------------- 1 files changed, 28 insertions(+), 22 deletions(-) diff --git a/src/components/TopNav/index.vue b/src/components/TopNav/index.vue index ea16377..2092415 100644 --- a/src/components/TopNav/index.vue +++ b/src/components/TopNav/index.vue @@ -1,3 +1,23 @@ +<template> + <el-menu :default-active="activeMenu" mode="horizontal" @select="handleSelect" :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 ? item.meta.icon : '' " /> {{ item.meta?.title }}</el-menu-item + > + </template> + + <!-- 椤堕儴鑿滃崟瓒呭嚭鏁伴噺鎶樺彔 --> + <el-sub-menu :style="{'--theme': theme}" index="more" v-if="topMenus.length > visibleNumber"> + <template #title>鏇村鑿滃崟</template> + <template v-for="(item, index) in topMenus"> + <el-menu-item :index="item.path" :key="index" v-if="index >= visibleNumber" + ><svg-icon :icon-class="item.meta ? item.meta.icon : '' " /> {{ item.meta?.title }}</el-menu-item + > + </template> + </el-sub-menu> + </el-menu> +</template> + <script setup lang="ts"> import { constantRoutes } from '@/router'; import { isHttp } from '@/utils/validate'; @@ -84,7 +104,7 @@ visibleNumber.value = parseInt(String(width / 85)); } -const handleSelect = (key: string, keyPath: string[]) => { +const handleSelect = (key: string) => { currentIndex.value = key; const route = routers.value.find(item => item.path === key); if (isHttp(key)) { @@ -92,7 +112,13 @@ window.open(key, "_blank"); } else if (!route || !route.children) { // 娌℃湁瀛愯矾鐢辫矾寰勫唴閮ㄦ墦寮� - router.push({ path: key, fullPath: '' }); + const routeMenu = childrenMenus.value.find(item => item.path === key); + if (routeMenu && routeMenu.query) { + let query = JSON.parse(routeMenu.query); + router.push({ path: key, query: query }); + } else { + router.push({ path: key }); + } appStore.toggleSideBarHide(true); } else { // 鏄剧ず宸︿晶鑱斿姩鑿滃崟 @@ -129,26 +155,6 @@ setVisibleNumber() }) </script> - -<template> - <el-menu :default-active="activeMenu" mode="horizontal" @select="handleSelect" :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 ? item.meta.icon : '' " /> {{ item.meta?.title }}</el-menu-item - > - </template> - - <!-- 椤堕儴鑿滃崟瓒呭嚭鏁伴噺鎶樺彔 --> - <el-sub-menu :style="{'--theme': theme}" index="more" v-if="topMenus.length > visibleNumber"> - <template #title>鏇村鑿滃崟</template> - <template v-for="(item, index) in topMenus"> - <el-menu-item :index="item.path" :key="index" v-if="index >= visibleNumber" - ><svg-icon :icon-class="item.meta ? item.meta.icon : '' " /> {{ item.meta?.title }}</el-menu-item - > - </template> - </el-sub-menu> - </el-menu> -</template> <style lang="scss"> .topmenu-container.el-menu--horizontal > .el-menu-item { -- Gitblit v1.9.3