mirror of
https://github.com/Tencent/tdesign-vue-next-starter.git
synced 2024-11-10 07:48:22 +08:00
feat: support keep-alive meta config (#470)
* feat: support keepalive meta config * chore: remove console
This commit is contained in:
parent
7642c320b3
commit
2123e86991
|
@ -221,6 +221,7 @@ export default [
|
|||
component: '/form/step/index',
|
||||
meta: {
|
||||
title: '分步表单页',
|
||||
keepAlive: false,
|
||||
},
|
||||
},
|
||||
],
|
||||
|
|
|
@ -26,4 +26,7 @@ export interface RouteMeta {
|
|||
hidden?: boolean;
|
||||
hiddenBreadcrumb?: boolean;
|
||||
single?: boolean;
|
||||
keepAlive?: boolean;
|
||||
frameSrc?: string;
|
||||
frameBlank?: boolean;
|
||||
}
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import isBoolean from 'lodash/isBoolean';
|
||||
import isUndefined from 'lodash/isUndefined';
|
||||
import type { ComputedRef } from 'vue';
|
||||
import { computed } from 'vue';
|
||||
|
||||
|
@ -31,8 +33,13 @@ import { useTabsRouterStore } from '@/store';
|
|||
const aliveViews = computed(() => {
|
||||
const tabsRouterStore = useTabsRouterStore();
|
||||
const { tabRouters } = tabsRouterStore;
|
||||
|
||||
return tabRouters.filter((route) => route.isAlive).map((route) => route.name);
|
||||
return tabRouters
|
||||
.filter((route) => {
|
||||
const keepAliveConfig = route.meta?.keepAlive;
|
||||
const isRouteKeepAlive = isUndefined(keepAliveConfig) || (isBoolean(keepAliveConfig) && keepAliveConfig); // 默认开启keepalive
|
||||
return route.isAlive && isRouteKeepAlive;
|
||||
})
|
||||
.map((route) => route.name);
|
||||
}) as ComputedRef<string[]>;
|
||||
|
||||
const isRefreshing = computed(() => {
|
||||
|
|
Loading…
Reference in New Issue
Block a user