【Vue.js 入门与实战】--动画-使用transition-group元素实现列表动画

简介: 一、 实现添加时候的动画效果二、 实行列表的融合

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

目录:

一、   实现添加时候的动画效果

二、   实行列表的融合

 

一、 实现添加时候的动画效果

之前已经学习了单个元素的动画,无论是小球,还是第三方动画库,还是自己定义的V-enter这些类名,都是控制单个元素。但如果是列表的话,需要通过以下方案来实现动画:

新建一个Vue列表,如何实现动画效果

新建一个窗口

<script>

//创建vue实例,得到ViewMode1

var vm = new Vue({

el:‘#app,

data: {

list: [

{id:1,name:‘赵高’}

{ id: 2,name:'秦桧’}

{ id: 3, name: '严嵩:}

{ id: 4, name:’魏忠贤’}

]

}

Methode:{ }

});

</ script>

 

<li v-for-"iten in list" :key-"item.id">

{{item.id}} --- {{item.name}}_

</li>

 

设置字体颜色 边距

<style>

li {

border:1px dashed #999;

margin:5px;

line-height:35px;

padding-left:5px;

font-size:12px;

}

 

li:hover{

background-color:pink;

transition: all 0.4s ease;

}

 

.v-enter,

.v-leave-to(

opacity: 0;

transform: translateY(80px);

}

 

.v-enter-active,

.v-leave-active,{

Transition:all 0.6s ease;

}

</style>

此时,执行,我们可以看到执行效果为:

image.png

 

二、实行列表的融合

<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包裹,需要使用transitionGroup-->

<transition-group>

<li v-for-"iten in list" :key-"item.id">

{{item.id}} --- {{item.name}}_

</li>

</transition-group>

</ul>

<script>

//创建Vue实例,得到viewMode1

var vm = new Vue ((

e1: "#app' ,

data: {

id:‘ ’,

name‘‘,

list: [

{ id: 1, name:'赵高’}

{ id: 2,name:'秦桧’}

{ id: 3, name: '严嵩:}

{ id: 4, name:’魏忠贤’}

]

},

methods:{

add() {

this.list.push({ id: this.id,name:this.name })

this.id = this.name =’ ’

}

}

注意:如果要为v-for 循环创建的元素设置动画,必须要为每一个元素设置:key属性。

image.png

这就实现了添加时的动画效果。

相关文章
|
8天前
|
设计模式 数据安全/隐私保护
Next.js 实战 (七):浅谈 Layout 布局的嵌套设计模式
这篇文章介绍了在Next.js框架下,如何处理中后台管理系统中特殊页面(如登录页)不包裹根布局(RootLayout)的问题。作者指出Next.js的设计理念是通过布局的嵌套来创建复杂的页面结构,这虽然保持了代码的整洁和可维护性,但对于特殊页面来说,却造成了不必要的布局包裹。文章提出了一个解决方案,即通过判断页面的skipGlobalLayout属性来决定是否包含RootLayout,从而实现特殊页面不包裹根布局的目标。
58 33
|
15天前
|
前端开发 API 开发者
Next.js 实战 (五):添加路由 Transition 过渡效果和 Loading 动画
这篇文章介绍了Framer Motion,一个为React设计的动画库,提供了声明式API处理动画和页面转换,适合创建响应式用户界面。文章包括首屏加载动画、路由加载Loading、路由进场和退场动画等主题,并提供了使用Framer Motion和next.js实现这些动画的示例代码。最后,文章总结了这些效果,并邀请读者探讨更好的实现方案。
|
13天前
|
JavaScript 前端开发 API
Next.js 实战 (六):如何实现文件本地上传
这篇文章介绍了在Next.js中如何实现文件上传到本地的方法。文章首先提到Next.js官方文档中没有提供文件上传的实例代码,因此开发者需要自行实现,通常有两种思路:使用Node.js原生上传或使用第三方插件如multer。接着,文章选择了使用Node.js原生上传的方式来讲解实现过程,包括如何通过哈希值命名文件、上传到指定目录以及如何分类文件夹。然后,文章展示了具体的实现步骤,包括编写代码来处理文件上传,并给出了代码示例。最后,文章通过一个效果演示说明了如何通过postman模拟上传文件,并展示了上传后的文件夹结构。
|
21天前
|
JavaScript 前端开发
【JavaScript】——JS基础入门常见操作(大量举例)
JS引入方式,JS基础语法,JS增删查改,JS函数,JS对象
|
1月前
Next.js 实战 (二):搭建 Layouts 基础排版布局
本文介绍了作者在Next.js v15.x版本发布后,对一个旧项目的重构过程。文章详细说明了项目开发规范配置、UI组件库选择(最终选择了Ant-Design)、以及使用Ant Design的Layout组件实现中后台布局的方法。文末展示了布局的初步效果,并提供了GitHub仓库链接供读者参考学习。
Next.js 实战 (二):搭建 Layouts 基础排版布局
|
1月前
|
存储 网络架构
Next.js 实战 (四):i18n 国际化的最优方案实践
这篇文章介绍了Next.js国际化方案,作者对比了网上常见的方案并提出了自己的需求:不破坏应用程序的目录结构和路由。文章推荐使用next-intl库来实现国际化,并提供了详细的安装步骤和代码示例。作者实现了国际化切换时不改变路由,并把当前语言的key存储到浏览器cookie中,使得刷新浏览器后语言不会失效。最后,文章总结了这种国际化方案的优势,并提供Github仓库链接供读者参考。
|
1月前
Next.js 实战 (三):优雅的实现暗黑主题模式
这篇文章介绍了在Next.js中实现暗黑模式的具体步骤。首先,需要安装next-themes库。然后,在/components/ThemeProvider/index.tsx文件中新增ThemeProvider组件,并在/app/layout.tsx文件中注入该组件。如果想要加入过渡动画,可以修改代码实现主题切换时的动画效果。最后,需要在需要的位置引入ThemeModeButton组件,实现暗黑模式的切换。
|
Web App开发 JavaScript 前端开发
《网站建设与网页设计从入门到精通Dreamweaver+Flash+Photoshop+HTML+CSS+JavaScript》——3.3 添加文本元素
本节书摘来自异步社区《网站建设与网页设计从入门到精通Dreamweaver+Flash+Photoshop+HTML+CSS+JavaScript》一书中的第3章,第3.3节,作者:何新起 更多章节内容可以访问云栖社区“异步社区”公众号查看。
1926 0
|
2月前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
39 1
JavaScript中的原型 保姆级文章一文搞懂
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
125 2