feat(knowledge): 优化知识构建步骤的切换效果

- 在创建知识页面的步骤组件中添加 slide 过渡动画
- 使用 v-if 替代 v-show 以提高性能
- 新增 slide-in 动画关键帧,实现从无到有的放大效果
This commit is contained in:
陈昱达
2025-04-18 16:33:38 +08:00
parent 4e95e01552
commit 4fe9bb9bab

View File

@@ -12,14 +12,16 @@
</el-steps>
<div class="components">
<step-preprocessing ref="stepPreProcessing" v-show="active === 0" @getForm="getForm" @getDocumentId="getDocumentId"></step-preprocessing>
<step-split-config
ref="splitConfig"
v-show="active === 1"
@previewConfirmed="handlePreviewConfirm"
@handleReUpload="handleReUpload"
></step-split-config>
<step-words ref="words" v-show="active === 2"></step-words>
<transition name="slide" appear mode="out-in">
<step-preprocessing ref="stepPreProcessing" v-if="active === 0" @getForm="getForm" @getDocumentId="getDocumentId"></step-preprocessing>
<step-split-config
ref="splitConfig"
v-if="active === 1"
@previewConfirmed="handlePreviewConfirm"
@handleReUpload="handleReUpload"
></step-split-config>
<step-words ref="words" v-if="active === 2"></step-words>
</transition>
</div>
</div>
<div class="card-bottom">
@@ -131,4 +133,23 @@ export default {
width: 100%;
}
}
.slide-enter-active {
animation: slide-in 0.5s;
}
.slide-leave-active {
animation: slide-in 0.5s reverse;
}
@keyframes slide-in {
0% {
transform: scale(0);
}
50% {
transform: scale(1.25);
}
100% {
transform: scale(1);
}
}
</style>