vue中列表增删时的动画过渡效果

news/2024/7/10 2:45:56 标签: vue, 列表项的增删过渡

用transition-group 包裹标签,注意没有name属性,要使用v-enter等类

  <style>
    .v-enter,
    .v-leave-to {
      opacity: 0
    }
    .v-enter-active,
    .v-leave-active {
      transition: opacity 2s
    }
  </style>
</head>

<body>
  <div id="demo">
    <button @click="handleClick">add item</button>
    <transition-group>
      <div v-for="item of lists" :key="item.id">{{item.id}}、{{item.title}}</div>
    </transition-group>
  </div>
  <script>

    new Vue({
      el: '#demo',
      data: {
        count: 0,
        lists: []
      },
      methods:{
        handleClick () {
           this.lists.push({
             id: this.count++,
             title: 'new add item'
           })
        }
      }
    })
  </script>

结果:添加新的内容时,是过渡效果添加上去的

原理:每增加一项的时候,其实就是增加了一个transition标签包裹该项的标签。

    <transition>
      <div>{{item.id}}、{{item.title}}</div>
    </transition>
    <transition>
      <div>{{item.id}}、{{item.title}}</div>
    </transition>
    <transition>
      <div>{{item.id}}、{{item.title}}</div>
    </transition>
    <transition>
      <div>{{item.id}}、{{item.title}}</div>
    </transition>

所以:不能再transition-group标签上写name属性,不然name属性都一样了。


http://www.niftyadmin.cn/n/584631.html

相关文章

wpf 路由事件

路由事件 可以从功能或实现的角度来理解路由事件。 此处对这两种定义均进行了说明&#xff0c;因为有的用户认为前者更有用&#xff0c;有的用户认为后者更有用。 请思考下面的简单代码&#xff1a; <Window x:Class"路由事件.MainWindow"xmlns"http://sc…

vue中用组件封装过渡动画

组件中要有props接收一个值&#xff0c;比如&#xff1a;show&#xff1b;组件的template中transition和slot的结合&#xff0c;可以接收父组件中的标签&#xff1b;过渡效果通过js钩子函数实现。这样就可以实现自己封装过渡动画&#xff0c;在项目中复用。 <body><d…

鼠标指针位置

鼠标指针位置有3个&#xff0c;一个是相对窗口来说的相对位置&#xff0c;一个是相对屏幕来说的绝对位置&#xff0c;还有个一个是相对窗口客户区来说的相对位置&#xff0c;所以单独说鼠标位置不明确的&#xff0c;需要具体说明相对那个来说的鼠标位置 思考下面相对窗口客户区…

(1)用vue写项目——项目准备

方法一&#xff1a; 1. 下载安装nodejs和git 2. 全局安装vue脚手架vue-cli 3. 执行命令创建一个基于webpack打包工具的vue项目的文件夹 命令会进入该项目的配置选项&#xff1a; Project name 项目名字quna.com quna.comProject description 项目描述A Vue.js project about m…

Oeacle 表的管理

1建表 语法&#xff1a; Create table 表名&#xff08; 字段1 数据类型 [default 默认值], 字段2 数据类型 [default 默认值], ... 字段n 数据类型 [default 默认值] &#xff09;; 范例&#xff1a;创建person表 create table person(…

(2)用vue写项目——项目文件结构

README.md项目描述说明文件 package.json 安装依赖的包 index.html 首页模板&#xff0c;项目的首页 postcssrc.js&#xff1a;是post的配置项 gitignore&#xff1a;有些文件不需要用git上传&#xff0c;不需要上传 eslintrc.js&#xff1a;代码规范&#xff0c;按eslint…

(3)用vue写去哪网——单文件组件代码结构

1. 首页文件&#xff1a;index.html <!DOCTYPE html> <html><head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width,initial-scale1.0"><title>quna.com</title></head>…

MVC笔记

MVC MVC是一个设计模式&#xff0c;它强制性的使应用程序的输入、处理和输出分开。使用MVC 应用程序被分成三个核心部件&#xff1a;模型、视图、控制器。它们各自处理自己的任务。 View&#xff08;视图&#xff09; Model&#xff08;模型&#xff09; Controlle…