微信小程序实现长按删除图片的示例


Posted in Javascript onMay 18, 2018

说明

最近在学小程序,遇到长按图片删除的问题,特此记录,记录自己的成长轨迹

需求:

长按删除指定图片

微信小程序实现长按删除图片的示例

需要解决的问题

  1. 长按事件如何表示出来?
  2. 如何获取当前长按元素的下标?
  3. 如何删除元素?

解决办法

  1. 长按事件是用bindlongpress(不会跟点击事件bindtap冲突);
  2. 在wxml中添加索引index,然后在js中用currentTarget.dataset.index获取当前元素下标
  3. 通过splice方法删除splice(index,1),删除一个当前元素

具体实现

<view class="uploader__files">
   <block wx:for="{{images}}" wx:key="{{item.id}}" >
      <view class="uploader__file" bindlongpress="deleteImage" data-index="{{index}}">
        <image mode="aspectFill" class="uploader__img" src="{{item.path}}" />
      </view>
   </block>
</view>

在wxml中添加 bindlongpress="deleteImage" data-index="{{index}}" 来绑定事件并添加索引index

deleteImage: function (e) {
  var that = this;
  var images = that.data.images;
  var index = e.currentTarget.dataset.index;//获取当前长按图片下标
  wx.showModal({
   title: '提示',
   content: '确定要删除此图片吗?',
   success: function (res) {
    if (res.confirm) {
     console.log('点击确定了');
     images.splice(index, 1);
    } else if (res.cancel) {
      console.log('点击取消了');
      return false;    
     }
    that.setData({
     images
    });
   }
  })
 }

删除部分的代码

注意currentTarget与target的区别

1. currentTarget:绑定的事件当前元素及其子元素都会触发

2. target: 绑定的事件 子元素不会被触发事件

效果展示

微信小程序实现长按删除图片的示例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用Div仿showModalDialog模式菜单的效果的代码
Mar 05 Javascript
用JS写的一个TableView控件代码
Jan 23 Javascript
js限制checkbox选中个数以限制六个为例
Jul 15 Javascript
浅谈javascript中自定义模版
Jan 29 Javascript
Bootstrap每天必学之滚动监听
Mar 16 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
Jun 12 Javascript
微信小程序实现皮肤功能(夜间模式)
Jun 18 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
Aug 21 Javascript
vue 做移动端微信公众号采坑经验记录
Apr 26 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
Aug 03 jQuery
详解vue后台系统登录态管理
Apr 02 Javascript
vue css 相对路径导入问题级踩坑记录
Jun 05 Vue.js
解决Vue中mounted钩子函数获取节点高度出错问题
May 18 #Javascript
Vue数据双向绑定原理及简单实现方法
May 18 #Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
May 17 #Javascript
Vue中对比scoped css和css module的区别
May 17 #Javascript
vue引用js文件的多种方式(推荐)
May 17 #Javascript
vue router+vuex实现首页登录验证判断逻辑
May 17 #Javascript
浅谈webpack-dev-server的配置和使用
May 17 #Javascript
You might like
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
PHP图像处理类库MagickWand用法实例分析
2015/05/21 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
PHP PDO数据库操作预处理与注意事项
2019/03/16 PHP
JavaScript 继承详解 第一篇
2009/08/30 Javascript
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
2010/04/25 Javascript
jquery 学习之二 属性(类)
2010/11/25 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
JS从数组中随机取出几个数组元素的方法
2016/08/02 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
bootstrap timepicker在angular中取值并转化为时间戳
2017/06/13 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
vue中动态添加class类名的方法
2018/09/05 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
布同自制Python函数帮助查询小工具
2011/03/13 Python
详解Python中的循环语句的用法
2015/04/09 Python
Python中的高级函数map/reduce使用实例
2015/04/13 Python
python爬虫中多线程的使用详解
2019/09/23 Python
Python缓存技术实现过程详解
2019/09/25 Python
python中property和setter装饰器用法
2019/12/19 Python
python动态规划算法实例详解
2020/11/22 Python
Deichmann英国:德国鞋类零售商
2021/01/30 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
2014年班主任自我评价范文
2014/04/23 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
慈善捐赠倡议书
2014/08/30 职场文书
2014领导干部四风问题查摆思想汇报
2014/09/13 职场文书
五四青年节活动总结
2015/02/10 职场文书
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP