perf: 完善useTagsView

master
kailong321200875 2 years ago
parent a869a457e6
commit 175abd0aa3

@ -47,12 +47,17 @@ export const useTagsView = () => {
callback?.()
}
const setTitle = (title: string) => {
tagsViewStore.setTitle(title)
}
return {
closeAll,
closeLeft,
closeRight,
closeOther,
closeCurrent,
refreshPage
refreshPage,
setTitle
}
}

@ -339,7 +339,8 @@ export const asyncRouterMap: AppRouteRecordRaw[] = [
meta: {
hidden: true,
title: t('router.details'),
canTo: true
canTo: true,
activeMenu: '/function/multiple-tabs'
}
}
]

@ -140,6 +140,14 @@ export const useTagsViewStore = defineStore('tagsView', {
// 设置当前选中的tag
setSelectedTag(tag: RouteLocationNormalizedLoaded) {
this.selectedTag = tag
},
setTitle(title: string) {
for (const v of this.visitedViews) {
if (v.path === this.selectedTag?.path) {
v.meta.title = title
break
}
}
}
}
})

@ -3,10 +3,15 @@ import { ContentWrap } from '@/components/ContentWrap'
import { ElInput } from 'element-plus'
import { ref } from 'vue'
import { useRoute } from 'vue-router'
import { useTagsView } from '@/hooks/web/useTagsView'
const { setTitle } = useTagsView()
const { params } = useRoute()
const val = ref(params.id as string)
setTitle(`详情页-${val.value}`)
</script>
<template>

@ -6,7 +6,8 @@ import { useRouter } from 'vue-router'
const { push } = useRouter()
const { closeAll, closeLeft, closeRight, closeOther, closeCurrent, refreshPage } = useTagsView()
const { closeAll, closeLeft, closeRight, closeOther, closeCurrent, refreshPage, setTitle } =
useTagsView()
const closeAllTabs = () => {
closeAll(() => {
@ -35,6 +36,10 @@ const closeCurrentTab = () => {
push('/dashboard/analysis')
})
}
const setTabTitle = () => {
setTitle(new Date().getTime().toString())
}
</script>
<template>
@ -45,6 +50,6 @@ const closeCurrentTab = () => {
<ElButton @click="closeOtherTabs"> </ElButton>
<ElButton @click="closeCurrentTab"> </ElButton>
<ElButton @click="refresh"> </ElButton>
<ElButton @click="setTabTitle"> </ElButton>
</ContentWrap>
</template>
@/hooks/web/useTagsView

Loading…
Cancel
Save