Vue中transition-group对列表进行增加删除,transition动画效果

26 篇文章 0 订阅
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>动画</title>
		<script src="lib/vue.min.js"></script>
		<style>
			.text{
				margin-left: 2%;
			}
			/* 初始样式 */
			li{
				border: 1px dashed #999;
				line-height: 30px;
				margin: 5px;
				width: 100%;
			}
			/* 鼠标上滑 */
			li:hover{
				background-color: pink;
			}
			
			/* 设置动画 距离底部80px上移*/
			.v-enter,
			.v-leave-to{
				opacity: 0;
				transform: translateY(80px);
			}
			/* 设置完成后透明度为1,用时0.8s */
			.v-enter-active,
			.v-leave-active{
				opacity: 1;
				transition: all 0.8s ease; 
			}
			
			/* 设置删除后下一个元素上移的动画 */
			.v-move{
				transition: all 0.8s ease; 
			}
			.v-leave-active{
				position: absolute;
			}
		</style>
	</head>
	<body>
		<div id="app">
			<div class="text">
				<label>
					id
					<input type="text" v-model="id"/>
				</label>	
				<label>
					name
					<input type="text" v-model="name"/>
				</label>
				<!-- 触发事件 -->
				<label>
					<input type="button" value="添加" @click="add"/>
				</label>
			</div>
				<!-- 循环 -->
				<!-- appear设置页面进场效果 -->
				<transition-group appear tag="ul">
					<!-- 点击li进行删除 -->
					<li v-for="(item,i) in list" :key="item.id" @click="del(i)" >
						{{item.id}}-----{{item.name}}
					</li>
				</transition-group>
		</div>
		<script>
			var vm=new Vue({
				el:'#app',
				data:{
					id:'',
					name:'',
					list:[
						{id:1,name:'腾讯'},
						{id:2,name:'阿里'},
						{id:3,name:'华为'},
						{id:4,name:'facebook'}
					]
				},
				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>

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值