From d141ed5bef666c96edd9dc25bf03382eaf3c957b Mon Sep 17 00:00:00 2001 From: AN <1983933789@qq.com> Date: Wed, 11 Jun 2025 11:23:51 +0800 Subject: [PATCH] =?UTF-8?q?chore(projects):=20=E7=A7=BB=E9=99=A4=E6=9C=AA?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/elegant/helper.ts | 49 ------------------------------------ 1 file changed, 49 deletions(-) delete mode 100644 src/router/elegant/helper.ts diff --git a/src/router/elegant/helper.ts b/src/router/elegant/helper.ts deleted file mode 100644 index 023a4d66..00000000 --- a/src/router/elegant/helper.ts +++ /dev/null @@ -1,49 +0,0 @@ -/* eslint-disable no-console */ -/** 后台返回的路由动态生成name 解决缓存问题 感谢 @fourteendp 详见 https://github.com/vbenjs/vue-vben-admin/issues/3927 */ -import type { Component } from 'vue'; -import { defineComponent, h } from 'vue'; - -interface Options { - name?: string; -} - -export type RouteComponentLoader = () => Promise; - -/** - * 作用相当于给组件包了一层 & 设置name 解决keepAlive问题 - * - * @param loader 导入的路由 - * @param options options - * @returns components - */ -export function createCustomNameComponent( - loader: RouteComponentLoader, - options: Options = {} -): () => Promise { - const { name } = options; - let component: Component | null = null; - - const load = async () => { - try { - const { default: loadedComponent } = await loader(); - component = loadedComponent; - } catch (error) { - console.error(`Cannot resolve component ${name}, error:`, error); - } - }; - - return async () => { - if (!component) { - await load(); - } - - return Promise.resolve( - defineComponent({ - name, - render() { - return h(component as Component); - } - }) - ); - }; -}