• 使用 transition-group 元素实现列表动画


    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Title</title>
    <script src="js/vue-2.4.0.js"></script>
    <style>
    li{
    border: 1px dashed #999;
    margin: 5px;
    padding-left: 5px;
    line-height: 35px;
    100%;
    }
    li:hover{
    ">#ccc;
    transition: all 0.6s ease;
    }
    /*添加动画*/
    .v-enter,
    .v-leave-to{
    opacity: 0;
    transform: translateY(80px);
    }
    .v-enter-active,
    .v-leave-active{
    transition: all 0.6s ease;
    }
    /*删除动画*/
    .move{
    transition: all 0.6s ease;
    }
    .v-leave-active{
    position: absolute;
    }
    </style>
    </head>
    <body>
    <div id="app">
    <div>
    <label>
    id:
    <input type="text" v-model="id">
    </label>
    <label>
    name:
    <input type="text" v-model="name">
    </label>
    <input type="button" value="添加" @click="add">
    </div>
    <!--<ul>-->
    <!--在实现列表过渡的时候,如果需要过渡的元素,是通过 v-for 循环渲染出来的,不能使用 transition 包裹,需要使用 transition-group-->
    <!--如果要为 v-for 循环创建的元素设置动画,必须为每一个元素设置 :key 属性-->
    <!--给 transition-group 添加 appear 属性,实现页面刚展示出来时候入场的效果-->
    <!--通过为 transition-group 元素设置tag 属性,指定transition-group 渲染为指定的元素,如果不指定 tag 属性,默认渲染为span 标签-->
    <transition-group appear tag="ul">
    <li v-for="(item,i) in list" :key="item.id" @click="del(i)">
    {{item.id}}====={{item.name}}
    </li>
    </transition-group>
    <!--</ul>-->
    </div>
    <script>
    var vm = new Vue({
    el: '#app',
    data: {
    id: '',
    name: '',
    list: [
    { id: 1, name: '奔驰'},
    { id: 2, name: '宝马'},
    { id: 3, name: '奥迪'},
    { id: 4, name: '法拉利'},
    { id: 5, name: '特斯拉'},
    ]
    },
    methods: {
    add() {
    this.list.push({id:this.id,name:this.name});
    this.id=this.name=''
    },
    del(i){
    this.list.splice(i,1)
    }
    }
    });
    </script>
    </body>
    </html>
  • 相关阅读:
    AJAX基础
    DOM事件机制(事件捕获和事件冒泡和事件委托)
    http协议
    DOM实战-js todo
    python常见面试题
    jQuery快速入门
    三级菜单
    购物车
    员工信息表
    random模块
  • 原文地址:https://www.cnblogs.com/lujieting/p/10447955.html
Copyright © 2020-2023  润新知