Skip to content

Commit 4e8966e

Browse files
author
piexlmax
committed
修复keepalive问题 flipped-aurora#934 flipped-aurora#903,调整刷新功能,增加页面跳转动画。
1 parent 573ae68 commit 4e8966e

File tree

8 files changed

+45
-14
lines changed

8 files changed

+45
-14
lines changed

web/src/pinia/modules/router.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,18 @@ export const useRouterStore = defineStore('router', () => {
5757
hidden: true,
5858
meta: {
5959
title: '迷路了*。*',
60+
closeTab: true,
6061
},
6162
component: 'view/error/index.vue'
63+
}, {
64+
path: 'reload',
65+
name: 'Reload',
66+
hidden: true,
67+
meta: {
68+
title: '',
69+
closeTab: true,
70+
},
71+
component: 'view/error/reload.vue'
6272
})
6373
formatRouter(asyncRouter, routeMap)
6474
baseRouter[0].children = asyncRouter

web/src/view/error/reload.vue

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<template>
2+
<div />
3+
</template>
4+
<script>
5+
import { useRouter } from 'vue-router'
6+
export default {
7+
name: 'Reload'
8+
}
9+
</script>
10+
11+
<script setup>
12+
const router = useRouter()
13+
router.go(-1)
14+
</script>

web/src/view/example/index.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div>
33
<router-view v-slot="{ Component }">
44
<transition mode="out-in" name="el-fade-in-linear">
5-
<keep-alive :include="useRouterStore.keepAliveRouters">
5+
<keep-alive :include="routerStore.keepAliveRouters">
66
<component :is="Component" />
77
</keep-alive>
88
</transition>
@@ -17,4 +17,5 @@ export default {
1717
</script>
1818
<script setup>
1919
import { useRouterStore } from '@/pinia/modules/router'
20+
const routerStore = useRouterStore()
2021
</script>

web/src/view/layout/aside/historyComponent/history.vue

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -247,16 +247,13 @@ watch(contextMenuVisible, () => {
247247
})
248248
249249
watch(route, (to, now) => {
250-
if (to.name === 'Login') {
250+
if (to.name === 'Login' || to.name === 'Reload') {
251251
return
252252
}
253253
historys.value = historys.value.filter((item) => !item.meta.closeTab)
254254
setTab(to)
255255
sessionStorage.setItem('historys', JSON.stringify(historys.value))
256256
activeValue.value = window.sessionStorage.getItem('activeValue')
257-
if (now && to && now.name === to.name) {
258-
emitter.emit('reload')
259-
}
260257
})
261258
262259
const initPage = () => {

web/src/view/layout/index.vue

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<el-breadcrumb-item
3535
v-for="item in matched.slice(1,matched.length)"
3636
:key="item.path"
37-
>{{ item.meta.title }}</el-breadcrumb-item>
37+
>{{ route.params.title || item.meta.title }}</el-breadcrumb-item>
3838
</el-breadcrumb>
3939
</el-col>
4040
<el-col :xs="12" :lg="9" :md="9" :sm="14" :xl="9">
@@ -83,7 +83,7 @@
8383
</transition>
8484
<router-view v-if="reloadFlag" v-slot="{ Component }" v-loading="loadingFlag" element-loading-text="正在加载中" class="admin-box">
8585
<transition mode="out-in" name="el-fade-in-linear">
86-
<keep-alive :include="useRouterStore.keepAliveRouters">
86+
<keep-alive :include="routerStore.keepAliveRouters">
8787
<component :is="Component" />
8888
</keep-alive>
8989
</transition>
@@ -118,7 +118,8 @@ import { useRouterStore } from '@/pinia/modules/router'
118118
119119
const router = useRouter()
120120
const route = useRoute()
121-
121+
const routerStore = useRouterStore()
122+
console.log(routerStore.keepAliveRouters)
122123
// 三种窗口适配
123124
const isCollapse = ref(false)
124125
const isSider = ref(true)
@@ -201,9 +202,14 @@ const changeUserAuth = async(id) => {
201202
202203
const reloadFlag = ref(true)
203204
const reload = async() => {
204-
reloadFlag.value = false
205-
await nextTick()
206-
reloadFlag.value = true
205+
if (route.meta.keepAlive) {
206+
reloadFlag.value = false
207+
await nextTick()
208+
reloadFlag.value = true
209+
} else {
210+
const title = route.meta.title
211+
router.push({ name: 'Reload', params: { title }})
212+
}
207213
}
208214
209215
const isShadowBg = ref(false)

web/src/view/routerHolder.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<div>
44
<router-view v-slot="{ Component }">
55
<transition mode="out-in" name="el-fade-in-linear">
6-
<keep-alive :include="useRouterStore.keepAliveRouters">
6+
<keep-alive :include="routerStore.keepAliveRouters">
77
<component :is="Component" />
88
</keep-alive>
99
</transition>
@@ -19,4 +19,5 @@ export default {
1919

2020
<script setup>
2121
import { useRouterStore } from '@/pinia/modules/router'
22+
const routerStore = useRouterStore()
2223
</script>

web/src/view/superAdmin/index.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div>
33
<router-view v-slot="{ Component }">
44
<transition mode="out-in" name="el-fade-in-linear">
5-
<keep-alive :include="useRouterStore.keepAliveRouters">
5+
<keep-alive :include="routerStore.keepAliveRouters">
66
<component :is="Component" />
77
</keep-alive>
88
</transition>
@@ -17,4 +17,5 @@ export default {
1717
</script>
1818
<script setup>
1919
import { useRouterStore } from '@/pinia/modules/router'
20+
const routerStore = useRouterStore()
2021
</script>

web/src/view/systemTools/index.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div>
33
<router-view v-slot="{ Component }">
44
<transition mode="out-in" name="el-fade-in-linear">
5-
<keep-alive :include="useRouterStore.keepAliveRouters">
5+
<keep-alive :include="routerStore.keepAliveRouters">
66
<component :is="Component" />
77
</keep-alive>
88
</transition>
@@ -17,4 +17,5 @@ export default {
1717
</script>
1818
<script setup>
1919
import { useRouterStore } from '@/pinia/modules/router'
20+
const routerStore = useRouterStore()
2021
</script>

0 commit comments

Comments
 (0)