fix: 调整tagsView文件

This commit is contained in:
lilinyuan
2024-03-26 16:28:46 +08:00
parent eda3b43e73
commit 82947fe5b6

View File

@@ -1,20 +1,21 @@
import { defineStore } from "pinia"; import { defineStore } from "pinia";
import { ref } from "vue"; import { ref } from "vue";
import { useRouter } from "vue-router"; import { useRouter, useRoute } from "vue-router";
export const useTagsView = defineStore('tagsView',()=>{ export const useTagsView = defineStore('tagsView',()=>{
const router = useRouter() const router = useRouter()
const route = useRoute()
//已显示的标签页list //已显示的标签页list
const visitedViews = ref([]) const visitedViews = ref([])
//添加标签页面 //添加标签页面
const addVisitedViews = ({path,meta}) => { const addVisitedViews = ({path,meta,query}) => {
if(visitedViews.value.length == 0) { if(visitedViews.value.length == 0) {
visitedViews.value.push({path,meta}) visitedViews.value.push({path,meta,query})
}else { }else {
const paths = visitedViews.value.map(item => item.path) const paths = visitedViews.value.map(item => item.path)
if(paths.includes(path) == false) { if(paths.includes(path) == false) {
visitedViews.value.push({path,meta}) visitedViews.value.push({path,meta,query})
} }
} }
} }
@@ -32,6 +33,16 @@ export const useTagsView = defineStore('tagsView',()=>{
toLastTagView(visitedViews) toLastTagView(visitedViews)
} }
//删除当前标签页并跳转到指定路由
const delViewAndGoView = (path) => {
visitedViews.value.forEach((item,index)=>{
if(item.path == route.path) {
visitedViews.value.splice(index,1)
}
})
router.push(path)
}
//删除其他标签页 //删除其他标签页
const delOtherVisitedViews = ({path,meta}) => { const delOtherVisitedViews = ({path,meta}) => {
visitedViews.value = [] visitedViews.value = []
@@ -50,5 +61,6 @@ export const useTagsView = defineStore('tagsView',()=>{
addVisitedViews, addVisitedViews,
delVisitedViews, delVisitedViews,
delOtherVisitedViews, delOtherVisitedViews,
delViewAndGoView
} }
}) })