vue列表过渡

列表过渡

实现

使用  组件.
它会以一个真实元素呈现:默认为一个 。你也可以通过 tag 特性更换为其他元素。
内部元素 总是需要 提供唯一的 key 属性值

列表的进出过渡


{{ item }}
//脚本
new Vue({
  el: '#list-demo',
  data: {
    items: [1,2,3,4,5,6,7,8,9],
    nextNum: 10
  },
  methods: {
    randomIndex: function () {
      return Math.floor(Math.random() * this.items.length)
    },
    add: function () {
      this.items.splice(this.randomIndex(), 0, this.nextNum++)
    },
    remove: function () {
      this.items.splice(this.randomIndex(), 1)
    },
  }
})
//样式
.list-item {
  display: inline-block;
  margin-right: 10px;
}
.list-enter-active, .list-leave-active {
  transition: all 1s;
}
.list-enter, .list-leave-to
/* .list-leave-active for below version 2.1.8 */ {
  opacity: 0;
  transform: translateY(30px);
}

列表的排序过渡

解决

 v-move特性实现改变定位;
 name  属性来自定义前缀;
也可以通过 move-class 属性手动设置。

示例




  • {{ item }}
  • //脚本
    new Vue({
      el: '#flip-list-demo',
      data: {
        items: [1,2,3,4,5,6,7,8,9]
      },
      methods: {
        shuffle: function () {
          this.items = _.shuffle(this.items)
        }
      }
    })
    
    //样式
    .flip-list-move {
      transition: transform 1s;
    }
    
    

    列表的交错过渡

    你可能感兴趣的:(vue列表过渡)