【发布时间】:2017-04-29 05:00:35
【问题描述】:
我想在Vue中使用transition-group,不用嵌套也能正常工作,但是当我这样使用时,它的行为很奇怪。
然后我在开发者工具中查看动画,发现所有列表项的transition-duration实际上都是零。
然后我尝试在样式中添加display: block !important,但还是不行
style中的transitionDelay不影响结果,我已经试过了。
它可能会突然用相同的代码正常工作
为了更好的理解,here is what it looks like(需要手机打开或者开发工具的移动设备,如果重定向到桌面的网站,切换到移动模式然后刷新)
.fade-enter-active,
.fade-leave-active {
transition: opacity .3s;
}
.fade-enter,
.fade-leave-active {
opacity: 0;
}
.slide-enter-active,
.slide-leave-active {
transition: transform .3s;
}
.slide-enter,
.slide-leave-active {
transform: translateX(-100%);
}
.list-enter-active,
.list-leave-active {
transition: all .6s;
}
.list-enter,
.list-leave-active {
transform: translateX(-350px);
opacity: 0;
}
<transition name="fade">
<div class="black-layout" v-show="isShowCatalog">
<transition name="slide">
<div v-show="isShowCatalog">
<transition-group tag="ul" name="list">
<li v-for="(value, index) of catalog" :key="index + 1" v-show="isShowCatalog" :style="{ transitionDelay: 0.02 * index + 's' }" @click="clickCatalog" :data-search="value.searchStr">{{ value.name }}</li>
</transition-group>
</div>
</transition>
</div>
</transition>
【问题讨论】:
标签: javascript css vue.js transition