VUE: 移动端长按弹出确认删除地址(后面测试发现IOS有BUG,后面有更新随笔,更新后的亲测有效)
收货地址的删除方式可能有很多种,我目前见过的暂时只有两种(1、在编辑页删除 2、长按某一条收货地址弹出是否删除地址)
在开发的项目上要求第二种删除方法,于是记录一下我写的代码 ~
1.首先,在移动端,手指点击一个元素,会经过:touchstart --> touchmove --> touchend -->click。
在temlate里面写长按事件(@touchstart:触摸开始 touchend:触摸结束,手指离开时)
<ul>
<li v-for="(item,idx) in addressList" :key="idx" @touchstart="touchin(item)" @touchend="cleartime(item)">
<div>
<p class="name">{{item.nickname}} <span>{{item.tel}}</span> </p>
<div class="addrInfo">
<span class="span">{{item.areaId}}</span><span>{{item.address}}</span>
</div>
</li>
</ul>
2.data里面的数据(为了方便给大家展示,写的是死数据)
data () {
return {
addressList: [
{nickname:'齐一', tel:15065124120, areaId: '某某省某某市某某区', address: '123路几座几号楼502'},
{nickname:'齐一', tel:15065124120, areaId: '某某省某某市某某区', address: '123路几座几号楼502'}
]
}
}
3.1用js写方法(我这里引入了一个mint-ui的确认是否删除的弹窗 import { MessageBox } from 'mint-ui')
methods: {
/*
* 长按显示删除地址
*/
touchin (item) {
// 再次清空定时器,防止重复注册定时器
clearInterval(this.loop)
this.Loop = setTimeout(function () {
MessageBox.confirm('确认删除吗?').then(res => {
this.addressList.splice(item, 1)
}).catch(() => {
})
}.bind(this), 1000)
},
/*
* 将每次手指移出之后将计时器清零
*/
cleartime (item) {
clearInterval(this.Loop)
}
}
3.2.这是我接好后台接口时候的数据,方便我自己看;大家看上面那个然后自己套数据就好了(当然不套自己项目的数据也是能实现功能的~)
methods: {/*
* 长按显示删除地址
*/
touchin (item) {
// 再次清空定时器,防止重复注册定时器
clearInterval(this.Loop)
this.Loop = setTimeout(function () {
MessageBox.confirm('确认删除吗?').then(res => {
let _formData = {
cusmallToken: getStore('cusmallToken'),
addressId: item.id
}
commonDkApiFun(_formData, '/ttmb/api/member/delAddress').then(res => {
if (res.data.ret === 0) {
this.addressList.splice(item, 1)
}
}).catch(err => {
console.log(err)
})
}).catch(() => {
})
}.bind(this), 1000)
},
/*
* 将每次手指移出之后将计时器清零
*/
cleartime (item) {
clearInterval(this.Loop)
}
}methods: {/*
* 长按显示删除地址
*/
touchin (item) {
// 再次清空定时器,防止重复注册定时器
clearInterval(this.Loop)
this.Loop = setTimeout(function () {
MessageBox.confirm('确认删除吗?').then(res => {
let _formData = {
cusmallToken: getStore('cusmallToken'),
addressId: item.id
}
commonDkApiFun(_formData, '/ttmb/api/member/delAddress').then(res => {
if (res.data.ret === 0) {
this.addressList.splice(item, 1)
}
}).catch(err => {
console.log(err)
})
}).catch(() => {
})
}.bind(this), 1000)
},
/*
* 将每次手指移出之后将计时器清零
*/
cleartime (item) {
clearInterval(this.Loop)
}
}
VUE: 移动端长按弹出确认删除地址(后面测试发现IOS有BUG,后面有更新随笔,更新后的亲测有效)的更多相关文章
- VUE: 移动端长按弹出确认删除地址(2)
之前有一篇文章也写了长按弹出确认框的功能,在android机上测试过完全没问题,到后面整体测试时发现IOS这个功能长按移除就消失了, 除非长按不松手,用另外一只手点击确定才能完成操作,所以这次做了修改 ...
- 【Vue | ElementUI】Vue离开当前页面时弹出确认框实现
Vue离开当前页面时弹出确认框实现 1. 实现目的 在某种业务场景下,用户不允许跳转到其他页面.于是,需要在用户误操作或者是点击浏览器跳转时提示用户. 2. 实现原理 使用路由守卫beforeRout ...
- C#编程中,在页面上如何弹出确认删除对话框
对于页面完成一个操作后,弹出一个对话框提示是否“操作成功”.举例如下:Response.Write("<script>alert('删除成功!')</script>& ...
- 实现对gridview删除行时弹出确认对话框的一种简单方法
在VS2008提供的GridView中我们可以直接添加一个CommandField删除列:<asp:CommandField ShowDeleteButton="True" ...
- 禁止手机页面中A标签长按弹出路径框
//禁止手机页面中A标签长按弹出路径框 window.onload=function(){ document.documentElement.style.webkitTouchCa ...
- [转]js中confirm实现执行操作前弹出确认框的方法
原文地址:http://www.jb51.net/article/56986.htm 本文实例讲述了js中confirm实现执行操作前弹出确认框的方法.分享给大家供大家参考.具体实现方法如下: 现在在 ...
- Android ListView两种长按弹出菜单方式
转自:http://www.cnblogs.com/yejiurui/p/3247527.html package com.wyl.download_demo; import java.util.Ar ...
- js在关闭页面前弹出确认提示【转载】
最近项目中出现个bug,就是导出数据后,会提示确认导航,其实实际需求并不需要这个提示,可能是之前遗留的问题.查了下资料是在触发了onbeforeunload事件,那么剩下的就是代码组织问题了. 众所周 ...
- C# GridView Edit & Delete, 点击Delete的时候弹出确认框
1. 使用GridView自带属性ShowEditButton和ShowDeleteButton,均设为True <Columns> ... <asp:CommandField S ...
随机推荐
- XOR Guessing(交互题+思维)Educational Codeforces Round 71 (Rated for Div. 2)
题意:https://codeforc.es/contest/1207/problem/E 答案guessing(0~2^14-1) 有两次机会,内次必须输出不同的100个数,每次系统会随机挑一个你给 ...
- Python 字符串,元祖,列表之间的转换
1.字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!' 2. ...
- T100——P处理程序显示进度明细
IF g_bgjob <> "Y" THEN #更新交易對像信用餘額檔: LET ls_value = cl_getmsg('axm ...
- Postgresql explain的analyze和buffers选项
sql查询分析: 原文地址:https://blog.csdn.net/qq_28893679/article/details/78316283
- P3748 [六省联考2017]摧毁“树状图”
传送门 显然是可以树形 $dp$ 的 对每个节点维护以下 $5$ 个东西 $1.$ 从当前节点出发往下的链的最大贡献 $2.$ 节点子树内不经过本身的路径最大贡献 $3.$ 节点子树内经过本身的路径的 ...
- Java Web 拦截器和过滤器的区别
一.AOP:面向切面编程,Java Web中有两个常用的技术:拦截器.过滤器 二.拦截器 1.定义:在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作 2.原理:大部分时候,拦截器方法都 ...
- 【原创】大叔经验分享(57)hue启动coordinator时报错
hue启动coordinator时报错,页面返回undefinied错误框: 后台日志报错: runcpserver.log [13/May/2019 04:34:55 -0700] middlewa ...
- HTTP请求管道事件BeginRequest和EndRequest
这是一个测试示例,代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; ...
- IIS出现Server Error in '/' Application 错误的解决办法
C:\Windows\Temp"文件夹加上 IIS_IUSRS的权限
- Linux 下幾種網芳/Samba 目錄的 mount 方式
Linux 下幾種網芳/Samba 目錄的 mount 方式,比較新的 Smaba 只能用 cifs 的 mount 方式. [smbmount] smbmount -o username=&qu ...