From 057fef91473b62650fb59a831c16f56e08aff479 Mon Sep 17 00:00:00 2001 From: xiaoxian521 <1923740402@qq.com> Date: Thu, 13 Jun 2024 12:17:24 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E5=90=8C=E6=AD=A5=E5=AE=8C=E6=95=B4?= =?UTF-8?q?=E7=89=88=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/components/lay-tag/index.vue | 11 ++++++----- src/layout/hooks/useTag.ts | 7 +++++++ src/plugins/elementPlus.ts | 4 +++- types/global-components.d.ts | 1 + 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/layout/components/lay-tag/index.vue b/src/layout/components/lay-tag/index.vue index 60a0133..29d0c36 100644 --- a/src/layout/components/lay-tag/index.vue +++ b/src/layout/components/lay-tag/index.vue @@ -36,6 +36,7 @@ const { buttonLeft, showModel, translateX, + isFixedTag, pureSetting, activeIndex, getTabStyle, @@ -576,7 +577,7 @@ onBeforeUnmount(() => { 'scroll-item is-closable', linkIsActive(item), showModel === 'chrome' && 'chrome-item', - !isAllEmpty(item?.meta?.fixedTag) && 'fixed-tag' + isFixedTag(item) && 'fixed-tag' ]" @contextmenu.prevent="openMenu(item, $event)" @mouseenter.prevent="onMouseenter(index)" @@ -591,10 +592,10 @@ onBeforeUnmount(() => { { {{ item.meta.title }} diff --git a/src/layout/hooks/useTag.ts b/src/layout/hooks/useTag.ts index aba5622..9a9562a 100644 --- a/src/layout/hooks/useTag.ts +++ b/src/layout/hooks/useTag.ts @@ -124,6 +124,12 @@ export function useTags() { } } + const isFixedTag = computed(() => { + return item => { + return isBoolean(item?.meta?.fixedTag) && item?.meta?.fixedTag === true; + }; + }); + const iconIsActive = computed(() => { return (item, index) => { if (index === 0) return; @@ -220,6 +226,7 @@ export function useTags() { buttonTop, buttonLeft, translateX, + isFixedTag, pureSetting, activeIndex, getTabStyle, diff --git a/src/plugins/elementPlus.ts b/src/plugins/elementPlus.ts index 2ff3b5b..8363187 100644 --- a/src/plugins/elementPlus.ts +++ b/src/plugins/elementPlus.ts @@ -107,6 +107,7 @@ import { ElWatermark, ElTour, ElTourStep, + ElSegmented, /** * 为了方便演示平台将 element-plus 导出的所有插件引入,实际使用中如果你没用到哪个插件,将其注释掉就行 * 导出来源:https://github.com/element-plus/element-plus/blob/dev/packages/element-plus/plugin.ts#L11-L16 @@ -221,7 +222,8 @@ const components = [ ElUpload, ElWatermark, ElTour, - ElTourStep + ElTourStep, + ElSegmented ]; const plugins = [ diff --git a/types/global-components.d.ts b/types/global-components.d.ts index fc8f56a..71314d4 100644 --- a/types/global-components.d.ts +++ b/types/global-components.d.ts @@ -115,6 +115,7 @@ declare module "vue" { ElWatermark: (typeof import("element-plus"))["ElWatermark"]; ElTour: (typeof import("element-plus"))["ElTour"]; ElTourStep: (typeof import("element-plus"))["ElTourStep"]; + ElSegmented: (typeof import("element-plus"))["ElSegmented"]; } interface ComponentCustomProperties {