diff --git a/src/views/system/menu/README.md b/src/views/system/menu/README.md index 9a01a9707..10eb4a8c5 100644 --- a/src/views/system/menu/README.md +++ b/src/views/system/menu/README.md @@ -20,6 +20,7 @@ | `frameLoading` | 加载动画(内嵌的`iframe`页面是否开启首次加载动画) | | `keepAlive` | 缓存页面(是否缓存该路由页面,开启后会保存该页面的整体状态,刷新后会清空状态) | | `hiddenTag` | 标签页(当前菜单名称或自定义信息禁止添加到标签页) | +| `fixedTag` | 固定标签页(当前菜单名称是否固定显示在标签页且不可关闭) | | `showLink` | 菜单(是否显示该菜单) | | `showParent` | 父级菜单(是否显示父级菜单 [点击查看更多](https://yiming_chang.gitee.io/pure-admin-doc/pages/routerMenu/#%E7%AC%AC%E4%B8%80%E7%A7%8D-%E8%AF%A5%E6%A8%A1%E5%BC%8F%E9%92%88%E5%AF%B9%E7%88%B6%E7%BA%A7%E8%8F%9C%E5%8D%95%E4%B8%8B%E5%8F%AA%E6%9C%89%E4%B8%80%E4%B8%AA%E5%AD%90%E8%8F%9C%E5%8D%95%E7%9A%84%E6%83%85%E5%86%B5-%E5%9C%A8%E5%AD%90%E8%8F%9C%E5%8D%95%E7%9A%84-meta-%E5%B1%9E%E6%80%A7%E4%B8%AD%E5%8A%A0%E4%B8%8A-showparent-true-%E5%8D%B3%E5%8F%AF)) | diff --git a/src/views/system/menu/form.vue b/src/views/system/menu/form.vue index 0c8ab8b15..c1d0d445c 100644 --- a/src/views/system/menu/form.vue +++ b/src/views/system/menu/form.vue @@ -10,6 +10,7 @@ import ReAnimateSelector from "@/components/ReAnimateSelector"; import { menuTypeOptions, showLinkOptions, + fixedTagOptions, keepAliveOptions, hiddenTagOptions, showParentOptions, @@ -37,6 +38,7 @@ const props = withDefaults(defineProps(), { frameLoading: true, keepAlive: false, hiddenTag: false, + fixedTag: false, showLink: true, showParent: false }) @@ -258,33 +260,6 @@ defineExpose({ getRef }); - - - - - - - - - - - @@ -321,6 +296,47 @@ defineExpose({ getRef }); /> + + + + + + + + + + + + + + + + + diff --git a/src/views/system/menu/utils/enums.ts b/src/views/system/menu/utils/enums.ts index 6eb3d5d6f..4466b61d7 100644 --- a/src/views/system/menu/utils/enums.ts +++ b/src/views/system/menu/utils/enums.ts @@ -32,6 +32,19 @@ const showLinkOptions: Array = [ } ]; +const fixedTagOptions: Array = [ + { + label: "固定", + tip: "当前菜单名称固定显示在标签页且不可关闭", + value: true + }, + { + label: "不固定", + tip: "当前菜单名称不固定显示在标签页且可关闭", + value: false + } +]; + const keepAliveOptions: Array = [ { label: "缓存", @@ -87,6 +100,7 @@ const frameLoadingOptions: Array = [ export { menuTypeOptions, showLinkOptions, + fixedTagOptions, keepAliveOptions, hiddenTagOptions, showParentOptions, diff --git a/src/views/system/menu/utils/hook.tsx b/src/views/system/menu/utils/hook.tsx index af3023ed7..6aa8e8127 100644 --- a/src/views/system/menu/utils/hook.tsx +++ b/src/views/system/menu/utils/hook.tsx @@ -155,6 +155,7 @@ export function useMenu() { frameLoading: row?.frameLoading ?? true, keepAlive: row?.keepAlive ?? false, hiddenTag: row?.hiddenTag ?? false, + fixedTag: row?.fixedTag ?? false, showLink: row?.showLink ?? true, showParent: row?.showParent ?? false } diff --git a/src/views/system/menu/utils/types.ts b/src/views/system/menu/utils/types.ts index 7259825c5..f07d1f71b 100644 --- a/src/views/system/menu/utils/types.ts +++ b/src/views/system/menu/utils/types.ts @@ -19,6 +19,7 @@ interface FormItemProps { frameLoading: boolean; keepAlive: boolean; hiddenTag: boolean; + fixedTag: boolean; showLink: boolean; showParent: boolean; } diff --git a/types/router.d.ts b/types/router.d.ts index 092a7d508..a03ba0e35 100644 --- a/types/router.d.ts +++ b/types/router.d.ts @@ -47,7 +47,7 @@ declare global { }; /** 当前菜单名称或自定义信息禁止添加到标签页(默认`false`) */ hiddenTag?: boolean; - /** 当前菜单是否固定显示在标签页且不可关闭(默认`false`) */ + /** 当前菜单名称是否固定显示在标签页且不可关闭(默认`false`) */ fixedTag?: boolean; /** 动态路由可打开的最大数量 `可选` */ dynamicLevel?: number;