From 99a9b2dd2aff66a4ed4009f8279bea01914b915b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=96=87=E5=BD=AC?= Date: Fri, 24 Jul 2020 00:10:21 +0800 Subject: [PATCH] fix(use-go): fix useGo router is undefined --- CHANGELOG.md | 1 + src/hooks/core/useRouter.ts | 6 ++++-- src/layouts/default/LayoutMenu.vue | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29da521f84f..ee30f167808 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ### Bug Fixes - **components:** add file upload,modal add closeFunc props ([92f19a9](https://github.com/anncwb/vue-vben-admin/commit/92f19a9cc7f48d4aba547eccbb515087cb94b39b)) +- **use-go:** fix useGo router is undefined ([85359d2](https://github.com/anncwb/vue-vben-admin/commit/85359d2037695b35ce61dfc008452e9716c64f74)) - **vac:** fix vca plugins auto import onMounted onunMounted ([5fea1d0](https://github.com/anncwb/vue-vben-admin/commit/5fea1d051173422a37be7a48a578b13e472f4e2b)) - **workbench:** update image's name and performance api ([838681d](https://github.com/anncwb/vue-vben-admin/commit/838681d07b24bb0a19479732487b8465b87de740)) - remove scroll component props ([bc1398a](https://github.com/anncwb/vue-vben-admin/commit/bc1398abae582a11041f83112b2b3a36c6cebe30)) diff --git a/src/hooks/core/useRouter.ts b/src/hooks/core/useRouter.ts index 1c40b4fa3bd..2f4a3441eac 100644 --- a/src/hooks/core/useRouter.ts +++ b/src/hooks/core/useRouter.ts @@ -1,7 +1,7 @@ import { unref, computed } from 'compatible-vue'; import { pageEnum } from '@/enums/pageEnum'; import { getRuntimeVM } from '@/setup/vue/runtimeVm'; - +import VurRouter from 'vue-router'; export const useRouter = () => { const vm = getRuntimeVM(); const route = computed(() => vm.$route); @@ -24,10 +24,12 @@ export const useRedo = () => { export const useGo = ({ path = pageEnum.BASE_HOME, replace = true, + router: rootRouter, }: { + router?: VurRouter; path?: pageEnum; replace?: boolean; } = {}) => { const { router } = useRouter(); - replace ? router.replace(path) : router.push(path); + replace ? (rootRouter || router).replace(path) : (rootRouter || router).push(path); }; diff --git a/src/layouts/default/LayoutMenu.vue b/src/layouts/default/LayoutMenu.vue index bffbb75bc0b..b8d8f8a57e6 100644 --- a/src/layouts/default/LayoutMenu.vue +++ b/src/layouts/default/LayoutMenu.vue @@ -26,14 +26,14 @@ default: '', } as PropOptions, }, - setup(props) { + setup(props, { root }) { const { prefixCls } = useDesign('layout-menu'); function handleMenuClick({ targetRoute }: { menu?: MenuItem; targetRoute: RouteConfigEx }) { const { path } = targetRoute; // const { path, meta: { frameSrc } = {} } = targetRoute; if (path) { - useGo({ path: path as pageEnum, replace: false }); + useGo({ path: path as pageEnum, replace: false, router: root.$router }); } } return () => {