gpt4 book ai didi

javascript - 如何在 Vue 中使用 "v-for"语句为 "v-if"元素创建动画?

转载 作者:搜寻专家 更新时间:2023-10-30 22:47:20 28 4
gpt4 key购买 nike

我尝试制作动画,但这不起作用。我也试过 transition-group .我如何改进此代码以使其可行?它根据我的 data.json.js 中的数据类别显示了两个不同的列表。文件。

还有 transition-group标记它有错误: <transition-group> children must be keyed: <li>

模板

<button @click="switcher = !switcher">SWITCH</button>

<transition name="fade">
<li v-for="elements in myData" v-if="elements.key == getKey()">
<span>{{elements.title}}</span>
</li>
</transition>

脚本

data() {
return {
switcher: true,
}

getKey(){
if (this.switcher) {
return 'KEY'
} else {
return 'ANOTHER KEY'
}

风格

.fade-enter-active, .fade-leave-active {
transition: opacity .5s;
}
.fade-enter, .fade-leave {
opacity: 0;
}

最佳答案

children must be keyed: <li>

可以绑定(bind):key="index"<li>元素。试试这个:

<transition name="fade">
<li v-for="(elements, index) in myData" :key="index" v-if="elements.key = getKey()">
<span>{{elements.title}}</span>
</li>
</transition>

关于javascript - 如何在 Vue 中使用 "v-for"语句为 "v-if"元素创建动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51330127/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com