next 3 (Vue.js 3)组件转换不工作



当内容发生变化时,我想在next v3中过渡(从右边)一个动态组件。组件按要求工作,但我无法使转换工作。

<template>
<div>
<!--- other HTML -->
<transition name="left-to-right" mode="out-in" :key="currentScreenIndex">
<QuestionsWrap :question="questionScreens[currentScreenIndex]" :key="currentScreenIndex" />
</transition>
<!--- other HTML -->
</div>
</template>
<style scoped>
.left-to-right-enter-active {
transition: all 0.5s ease-out;
transform: translateX(-100%);
}
.left-to-right-leave-active {
transition: all 0.5s ease-out;
transform: translateX(100%);
}
</style>

首先,从Transition中移除:key。我认为这是完全停止渲染的原因。

然后,你要添加你的leave-toleave-fromcss属性。

这个应该能奏效:

<template>
<div>
<!--- other HTML -->
<transition name="left-to-right" mode="out-in">
<QuestionsWrap :question="questionScreens[currentScreenIndex]" :key="currentScreenIndex" />
</transition>
<!--- other HTML -->
</div>
</template>
<style scoped>
.left-to-right-leave-active {
transition: all 0.5s ease-out;
}
.left-to-right-leave-to {
transform: translateX(100%);
}
.left-to-right-enter-active {
transition: all 0.5s ease-out;
}
.left-to-right-enter-from {
transform: translateX(-100%);
}
</style>

移除scoped属性

<style>
.left-to-right-enter-active {
transition: all 0.5s ease-out;
transform: translateX(-100%);
}
.left-to-right-leave-active {
transition: all 0.5s ease-out;
transform: translateX(100%);
}
</style>

记住下一个匹配css类和作用域添加额外的id在编译。

相关内容

  • 没有找到相关文章

最新更新