list添加删除动画(transition-group)

复制代码
<template>
  <div id="app">
    <transition-group tag="ul" name="list">
      <li v-for="(item,index) in list" :key="index">{{item}}<button @click="handleDelete(index)">删除</button></li>
    </transition-group>
    <el-button @click="handleAdd">添加</el-button>
  </div>
</template>
<script>
export default {
  data() {
    return { list: ['项目1', '项目2', '项目3'] }
  },
  methods: {
    handleAdd() {
      this.list.push('项目n' + Math.random())
    },
    handleDelete(index) {
      this.list.splice(index, 1)
    }
  }
}
</script>
<style lang="less" scoped>
#app {
  > ul {
    li {
      height: 40px;
      border: 1px solid #ccc;
    }
  }
  .list-enter-active,
  .list-leave-active {
    transition: height 0.1s linear;
  }
  // 进场 离场
  .list-enter,
  .list-leave-to {
    height: 0;
  }
}
</style>
复制代码

 

新增和删除时对height做个动画

 

posted @   吴小明-  阅读(136)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
历史上的今天:
2020-09-23 vue组件中name属性有啥作用(命名组件)
点击右上角即可分享
微信分享提示