# transition-group列表过渡
同时渲染整个列表,比如使用 v-for。
其特性:
- 默认情况下,它不会渲染一个包裹元素,但是你可以通过 tag attribute 指定渲染一个元素用来包裹子节点。
- 过渡模式不可用,因为我们不再相互切换特有的元素。
- 内部元素总是需要提供唯一的 key attribute 值。
- CSS 过渡的类将会应用在内部的元素中,而不是这个组/容器本身。
# 列表的进入/离开过渡
与<transition>
类似,若<transition-group>
标签中未加 name 属性则前缀默认为 v-
,否则前缀为定义的 name 值
<transition-group tag="ul"> <!--tag转为ul-->
<li v-for="item in list" :key="item">{{item}}</li> <!--子元素要有key-->
</transition-group>
1
2
3
2
3
注意:列表元素一定要有key
.v-enter,.v-leave-to{
opacity: 0;
transform: translateX(30px);
}
.v-enter-active,.v-leave-active{
transition: all 1s;
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 列表的排序过渡
<transition-group>
组件还有一个特殊之处。除了进入和离开,它还可以为定位的改变添加动画。只需了解新增的 v-move 类就可以使用这个新功能,它会应用在元素改变定位的过程中。
.v-move {
transition: transform 1s;
}
1
2
3
2
3
列表过渡&排序过渡