mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-09-21 18:56:39 +08:00
Merge pull request #47 from maxbad/v2.0
修复transition组件导致的白屏(重现: 热更新transition下的组件script代码切换tab即可)
This commit is contained in:
commit
9f91977a0d
@ -136,7 +136,7 @@
|
|||||||
import { deepMerge } from '@/utils';
|
import { deepMerge } from '@/utils';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'BasicUpload',
|
name: 'BasicForm',
|
||||||
components: { DownOutlined, UpOutlined, QuestionCircleOutlined },
|
components: { DownOutlined, UpOutlined, QuestionCircleOutlined },
|
||||||
props: {
|
props: {
|
||||||
...basicProps,
|
...basicProps,
|
||||||
|
@ -2,18 +2,26 @@
|
|||||||
<RouterView>
|
<RouterView>
|
||||||
<template #default="{ Component, route }">
|
<template #default="{ Component, route }">
|
||||||
{{ retryKeepAlive(route) }}
|
{{ retryKeepAlive(route) }}
|
||||||
<transition :name="getTransitionName" mode="out-in" appear>
|
<template v-if="mode === 'production'">
|
||||||
<keep-alive v-if="keepAliveComponents" :include="keepAliveComponents">
|
<transition :name="getTransitionName" appear mode="out-in">
|
||||||
|
<keep-alive v-if="keepAliveComponents.length" :include="keepAliveComponents">
|
||||||
<component :is="Component" :key="route.fullPath" />
|
<component :is="Component" :key="route.fullPath" />
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
<component v-else :is="Component" :key="route.fullPath" />
|
<component :is="Component" v-else :key="route.fullPath" />
|
||||||
</transition>
|
</transition>
|
||||||
</template>
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<keep-alive v-if="keepAliveComponents.length" :include="keepAliveComponents">
|
||||||
|
<component :is="Component" :key="route.fullPath" />
|
||||||
|
</keep-alive>
|
||||||
|
<component :is="Component" v-else :key="route.fullPath" />
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
</RouterView>
|
</RouterView>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { defineComponent, computed, unref } from 'vue';
|
import { computed, defineComponent, unref } from 'vue';
|
||||||
import { useAsyncRouteStore } from '@/store/modules/asyncRoute';
|
import { useAsyncRouteStore } from '@/store/modules/asyncRoute';
|
||||||
import { useProjectSetting } from '@/hooks/setting/useProjectSetting';
|
import { useProjectSetting } from '@/hooks/setting/useProjectSetting';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
@ -72,11 +80,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const mode = import.meta.env.MODE;
|
||||||
return {
|
return {
|
||||||
keepAliveComponents,
|
keepAliveComponents,
|
||||||
getTransitionName,
|
getTransitionName,
|
||||||
retryKeepAlive,
|
retryKeepAlive,
|
||||||
|
mode,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user