perf(router): refresh (#142)

* feat: set add multiTagsCache

* perf(router): refresh

* fix(multiTags): clear storage when close other tag

Co-authored-by: lrl <742798240@qq.com>
This commit is contained in:
啝裳
2021-12-07 15:40:10 +08:00
committed by GitHub
parent d6a358e851
commit 12879f9553
5 changed files with 102 additions and 12 deletions

View File

@@ -10,6 +10,7 @@ import {
getCurrentInstance
} from "vue";
import panel from "../panel/index.vue";
import { getConfig } from "/@/config";
import { useRouter } from "vue-router";
import { emitter } from "/@/utils/mitt";
import { templateRef } from "@vueuse/core";
@@ -77,7 +78,8 @@ const logoVal = ref(storageLocal.getItem("logoVal") || "1");
const settings = reactive({
greyVal: instance.sets.grey,
weakVal: instance.sets.weak,
tabsVal: instance.sets.hideTabs
tabsVal: instance.sets.hideTabs,
multiTagsCache: instance.sets.multiTagsCache
});
function toggleClass(flag: boolean, clsName: string, target?: HTMLElement) {
@@ -93,7 +95,8 @@ const greyChange = (value): void => {
instance.sets = {
grey: value,
weak: instance.sets.weak,
hideTabs: instance.sets.hideTabs
hideTabs: instance.sets.hideTabs,
multiTagsCache: instance.sets.multiTagsCache
};
};
@@ -107,7 +110,8 @@ const weekChange = (value): void => {
instance.sets = {
grey: instance.sets.grey,
weak: value,
hideTabs: instance.sets.hideTabs
hideTabs: instance.sets.hideTabs,
multiTagsCache: instance.sets.multiTagsCache
};
};
@@ -116,11 +120,23 @@ const tagsChange = () => {
instance.sets = {
grey: instance.sets.grey,
weak: instance.sets.weak,
hideTabs: showVal
hideTabs: showVal,
multiTagsCache: instance.sets.multiTagsCache
};
emitter.emit("tagViewsChange", showVal);
};
const multiTagsCacheChange = () => {
let multiTagsCache = settings.multiTagsCache;
instance.sets = {
grey: instance.sets.grey,
weak: instance.sets.weak,
hideTabs: instance.sets.hideTabs,
multiTagsCache: multiTagsCache
};
useMultiTagsStoreHook().multiTagsCacheChange(multiTagsCache);
};
//初始化项目配置
nextTick(() => {
settings.greyVal &&
@@ -148,6 +164,7 @@ function onReset() {
}
}
]);
useMultiTagsStoreHook().multiTagsCacheChange(getConfig().MultiTagsCache);
router.push("/login");
}
@@ -317,6 +334,18 @@ function setLayoutThemeColor(theme: string) {
>
</el-switch>
</li>
<li>
<span>标签页持久化</span>
<el-switch
v-model="settings.multiTagsCache"
inline-prompt
inactive-color="#a6a6a6"
active-text=""
inactive-text=""
@change="multiTagsCacheChange"
>
</el-switch>
</li>
<li>
<span>标签风格</span>