diff --git a/src/components/utils/index.js b/src/components/utils/index.js index 49d3a4c..623958e 100644 --- a/src/components/utils/index.js +++ b/src/components/utils/index.js @@ -30,7 +30,7 @@ const calcWithIf = menuItem => { */ export const useInputType = (option) => { const inType = option.type || 'input' - if (inType.startsWith('common-') || inType.startsWith('el-')) { + if (inType.startsWith('common-') || inType.startsWith('el-') || inType.startsWith('vue-')) { return inType // 控件全名 } return `el-${option.type || 'input'}` diff --git a/src/stores/TabsViewStore.js b/src/stores/TabsViewStore.js index dd436d0..2a5506d 100644 --- a/src/stores/TabsViewStore.js +++ b/src/stores/TabsViewStore.js @@ -6,6 +6,25 @@ import { } from '@/route/RouteUtils' import { TAB_MODE_MAX_CACHES } from '@/config' +const pureTab = tab => { + if (tab) { + return { + ...tab, + matched: undefined + } + } +} + +const serializer = { + serialize (state) { + const newState = { ...state } + newState.historyTabs = state.historyTabs?.map(pureTab) + newState.currentTabItem = pureTab(state.currentTabItem) + return JSON.stringify(newState) + }, + deserialize: JSON.parse +} + /** * @typedef {Object} TabsViewStore * @property {boolean} isTabMode 是否开启tab模式 @@ -208,5 +227,5 @@ export const useTabsViewStore = defineStore('tabsView', () => { hasCloseDropdown } }, { - persist: true + persist: { serializer } })