修改tagsView

This commit is contained in:
zouzhibin 2022-08-31 22:07:41 +08:00
parent bde9954e83
commit fe9a1fa88e
8 changed files with 30 additions and 14 deletions

5
.env Normal file
View File

@ -0,0 +1,5 @@
# port
VITE_PORT = 8100

View File

@ -1,2 +1,5 @@
# 本地环境 # 本地环境
NODE_ENV = 'development' NODE_ENV = 'development'
# 本地环境接口地址
VITE_API_URL = '/api'

View File

@ -5,8 +5,12 @@
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"build:dev": "vite build --mode development",
"build:test": "vite build --mode test",
"build:prod": "vite build --mode production",
"build": "vite build", "build": "vite build",
"preview": "vite preview", "preview": "vite preview",
"build:ts": "vue-tsc --noEmit --skipLibCheck && vite build",
"lint": "eslint . --ext .vue,.js,.ts,.jsx,.tsx --fix", "lint": "eslint . --ext .vue,.js,.ts,.jsx,.tsx --fix",
"lint:prettier": "prettier --write \"src/**/*.{js,json,tsx,css,less,scss,vue,html,md}\"" "lint:prettier": "prettier --write \"src/**/*.{js,json,tsx,css,less,scss,vue,html,md}\""
}, },

1
src/api/index.ts Normal file
View File

@ -0,0 +1 @@

View File

@ -16,7 +16,9 @@
@click="routerGo(tag)" @click="routerGo(tag)"
> >
<div class="tags-view-item">{{ tag.title }}</div> <div class="tags-view-item">{{ tag.title }}</div>
<el-icon @click.prevent.stop="(e) => closeSelectedTag(e, tag)" class="tag-icon"> <el-icon
v-if="!isAffix(tag)"
@click.prevent.stop="(e) => closeSelectedTag(e, tag)" class="tag-icon">
<circle-close-filled <circle-close-filled
/></el-icon> /></el-icon>
</div> </div>
@ -169,11 +171,9 @@
} }
// //
const closeAllTab = ()=>{ const closeAllTab = async ()=>{
if(route.fullPath!=='/home'){ let visitedViews = await TagsViewStore.delAllViews()
TagsViewStore.delAllViews() toLastView(visitedViews,route)
}
router.push('/')
} }
const routerGo = (tag) => { const routerGo = (tag) => {

View File

@ -31,6 +31,7 @@ import externalLink from './modules/externalLink'
* meta ==> * meta ==>
* meta.title ==> * meta.title ==>
* meta.icon ==> icon * meta.icon ==> icon
* meta.affix ==> true将会出现在
*/ */
export const constantRoutes: Array<RouteRecordRaw&extendRoute> = [ export const constantRoutes: Array<RouteRecordRaw&extendRoute> = [

View File

@ -47,10 +47,10 @@ export const useTagsViewStore = defineStore({
delVisitedView(view){ delVisitedView(view){
return new Promise(resolve => { return new Promise(resolve => {
this.visitedViews = this.visitedViews.filter(v=>{ this.visitedViews = this.visitedViews.filter(v=>{
return v.path !== view.path return (v.path !== view.path||v.meta.affix)
}) })
this.cachedViews = this.cachedViews.filter(v=>{ this.cachedViews = this.cachedViews.filter(v=>{
return v.path !== view.path return (v.path !== view.path||v.meta.affix)
}) })
resolve([...this.visitedViews]) resolve([...this.visitedViews])
}) })
@ -69,8 +69,9 @@ export const useTagsViewStore = defineStore({
}, },
delAllViews(){ delAllViews(){
return new Promise((resolve) => { return new Promise((resolve) => {
this.visitedViews = [] this.visitedViews = this.visitedViews.filter(v=>v.meta.affix)
this.visitedViews = [] console.log('===============',this.visitedViews)
this.cachedViews = this.visitedViews.filter(v=>v.meta.affix)
resolve([...this.visitedViews]) resolve([...this.visitedViews])
}) })
}, },

View File

@ -1,4 +1,5 @@
import { defineConfig,ConfigEnv, UserConfig } from 'vite' import { defineConfig,ConfigEnv, UserConfig,loadEnv } from 'vite'
// vite.config.ts中无法使用import.meta.env 所以需要引入
import vue from '@vitejs/plugin-vue' import vue from '@vitejs/plugin-vue'
// import AutoImport from 'unplugin-auto-import/vite' // import AutoImport from 'unplugin-auto-import/vite'
// import Components from 'unplugin-vue-components/vite' // import Components from 'unplugin-vue-components/vite'
@ -75,9 +76,9 @@ export default defineConfig(({ mode }: ConfigEnv): UserConfig => {
}, },
// 生产环境打包配置 // 生产环境打包配置
//去除 console debugger //去除 console debugger
esbuild: { // esbuild: {
pure:mode==='production' ? ["console.log", "debugger"] : [] // pure:mode==='production' ? ["console.log", "debugger"] : []
}, // },
// build: { // build: {
// terserOptions: { // terserOptions: {