vue插件集合18:vue实现长按删除方法

本文介绍了一个使用Vue.js实现的列表项触摸事件处理案例,通过在template中利用v-for遍历数据数组,并结合@touchstart和@touchend事件,实现了列表项的长按确认删除功能。文章详细展示了如何在methods中定义touchin和cleartime方法来控制定时器,以判断用户的长按行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:template中

<div v-for="(item,index) in arr" :key="item.id" @touchstart.prevent="touchinUk(index)"  @touchend.prevent="cleartime(index)">
		<div>
			<p>{{item.address}}</p>
			<p>备注:{{item.remarks}}</p>
		</div>
		<div>
			<i class="iconfont icon-gengduo"></i>
		</div>
</div>

2:data

arr: [{
		address: "0X21458151815165146156610561056-1",
		remarks: "imtoken"
	}, {
		address: "0X21458151815165146156610561056-2",
		remarks: "imtoken"
	},
	{
		address: "0X21458151815165146156610561056-3",
		remarks: "imtoken"
	},
],

3:methods

touchin(index) {
	console.log(index)
	clearInterval(this.Loop); //再次清空定时器,防止重复注册定时器
	this.Loop = setTimeout(function() {
		this.$dialog.confirm({
			message: '是否删除地址'
		}).then(() => {
			console.log("删除")
			this.arr.splice(index, 1);
		}).catch(() => {
			// on cancel
			console.log("不删")
		});


	}.bind(this), 1000);
},
cleartime(index) {
	// 这个方法主要是用来将每次手指移出之后将计时器清零
	clearInterval(this.Loop);
},
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值