请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师删除元素时剩下的元素没有过渡效果呢

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>lesson 26</title>
    <script src="https://unpkg.com/vue@next"></script>
    <style>
       
        .v-enter-from{
            opacity: 0;
            transform: translateY(30px);
        }
        .v-enter-active{
            transition: all 1s ease-in;
        }

        .v-enter-to{
            opacity: 1;
            transform: translateY(0);

        }
        .v-leave-from{
            opacity: 1;
            transform: translateY(0px);
        }
        .v-leave-active{
            transition: all 1s ease-in;
        }

        .v-leave-to{
            opacity: 0;
            transform: translateY(30px);

        }
        .v-move{
            transition: all 1s ease-in;
        }
        .list-item{
            display: inline-block;
            margin-right: 10px;
        }
     
    </style>
</head>

<body>
    <div id="root"></div>
</body>
<script>


    //注意把模板中的标签换为<transition-group>即可
    
    const app = Vue.createApp({

        data() {
            return {   
                list:[1,2,3]   
            }
        },
 

        methods:{
            handleClickAdd(){
                this.list.unshift(this.list.length+1)
            },
            
            handleClickDrop(){
                this.list.shift()
            }
        },
        template: `
        <div>
        <transition-group mode='out-in'>
          <span class="list-item" v-for="item in list" :key="item">{{item}}</span>
        </transition-group>
        <button @click="handleClickAdd">增加</button>
        <button @click="handleClickDrop">减少</button>
      </div>
       
        `
    })

    const vm = app.mount('#root');
</script>

</html>

正在回答 回答被采纳积分+3

2回答

mhy624 2021-08-04 12:25:31

遇到删除元素,剩下的元素没有平滑向左移动的问题的小伙伴

可以试试加一个

.v-leave-active{

            position: absolute;

        }

样式

3 回复 有任何疑惑可以回复我~
Dell 2021-04-10 21:15:27

是的,都有过渡效果,你可以参考vue 官网的样例开发,我课程里好像这块简化了没有强调

0 回复 有任何疑惑可以回复我~
  • 提问者 小菜鸡冲冲冲 #1
    老师我的意思是,删除一个元素它是有动画效果的,但剩下的元素是直接移动的,style里的v-move没有起作用;增加元素时全都有动画效果
    回复 有任何疑惑可以回复我~ 2021-04-10 21:34:37
  • Dell 回复 提问者 小菜鸡冲冲冲 #2
    是的,看下那个vue的文档里,专门有一个小结讲这个的,叫列表过渡
    回复 有任何疑惑可以回复我~ 2021-04-12 22:48:04
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信