fix: 修复配置路由属性fixedTagfalse后当前标签页不可关闭的问题

This commit is contained in:
xiaoxian521 2024-06-12 14:56:09 +08:00
parent 933ced4ac4
commit 47afa9209e
2 changed files with 13 additions and 5 deletions

View File

@ -37,6 +37,7 @@ const {
buttonLeft, buttonLeft,
showModel, showModel,
translateX, translateX,
isFixedTag,
pureSetting, pureSetting,
activeIndex, activeIndex,
getTabStyle, getTabStyle,
@ -578,7 +579,7 @@ onBeforeUnmount(() => {
'scroll-item is-closable', 'scroll-item is-closable',
linkIsActive(item), linkIsActive(item),
showModel === 'chrome' && 'chrome-item', showModel === 'chrome' && 'chrome-item',
!isAllEmpty(item?.meta?.fixedTag) && 'fixed-tag' isFixedTag(item) && 'fixed-tag'
]" ]"
@contextmenu.prevent="openMenu(item, $event)" @contextmenu.prevent="openMenu(item, $event)"
@mouseenter.prevent="onMouseenter(index)" @mouseenter.prevent="onMouseenter(index)"
@ -593,10 +594,10 @@ onBeforeUnmount(() => {
</span> </span>
<span <span
v-if=" v-if="
isAllEmpty(item?.meta?.fixedTag) isFixedTag(item)
? iconIsActive(item, index) || ? false
: iconIsActive(item, index) ||
(index === activeIndex && index !== 0) (index === activeIndex && index !== 0)
: false
" "
class="el-icon-close" class="el-icon-close"
@click.stop="deleteMenu(item)" @click.stop="deleteMenu(item)"
@ -617,7 +618,7 @@ onBeforeUnmount(() => {
{{ transformI18n(item.meta.title) }} {{ transformI18n(item.meta.title) }}
</span> </span>
<span <span
v-if="isAllEmpty(item?.meta?.fixedTag) ? index !== 0 : false" v-if="isFixedTag(item) ? false : index !== 0"
class="chrome-close-btn" class="chrome-close-btn"
@click.stop="deleteMenu(item)" @click.stop="deleteMenu(item)"
> >

View File

@ -125,6 +125,12 @@ export function useTags() {
} }
} }
const isFixedTag = computed(() => {
return item => {
return isBoolean(item?.meta?.fixedTag) && item?.meta?.fixedTag === true;
};
});
const iconIsActive = computed(() => { const iconIsActive = computed(() => {
return (item, index) => { return (item, index) => {
if (index === 0) return; if (index === 0) return;
@ -221,6 +227,7 @@ export function useTags() {
buttonTop, buttonTop,
buttonLeft, buttonLeft,
translateX, translateX,
isFixedTag,
pureSetting, pureSetting,
activeIndex, activeIndex,
getTabStyle, getTabStyle,