diff --git a/src/store/modules/tagsView.js b/src/store/modules/tagsView.js index f2faeb12..cbf9eeb7 100644 --- a/src/store/modules/tagsView.js +++ b/src/store/modules/tagsView.js @@ -60,6 +60,15 @@ const tagsView = { }, DEL_ALL_CACHED_VIEWS: state => { state.cachedViews = [] + }, + + UPDATE_VISITED_VIEW: (state, view) => { + for (let v of state.visitedViews) { + if (v.path === view.path) { + v = Object.assign(v, view) + break + } + } } }, @@ -142,6 +151,10 @@ const tagsView = { commit('DEL_ALL_CACHED_VIEWS') resolve([...state.cachedViews]) }) + }, + + updateVisitedView({ commit }, view) { + commit('UPDATE_VISITED_VIEW', view) } } } diff --git a/src/views/layout/components/TagsView.vue b/src/views/layout/components/TagsView.vue index 793cc698..c824a38d 100644 --- a/src/views/layout/components/TagsView.vue +++ b/src/views/layout/components/TagsView.vue @@ -81,6 +81,12 @@ export default { for (const tag of tags) { if (tag.to.path === this.$route.path) { this.$refs.scrollPane.moveToTarget(tag.$el) + + // when query is different then update + if (tag.to.fullPath !== this.$route.fullPath) { + this.$store.dispatch('updateVisitedView', this.$route) + } + break } }