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


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 相关文章推荐
javascript 硬盘序列号+其它硬件信息
Dec 23 Javascript
jQuery select控制插件
Aug 17 Javascript
Js 时间间隔计算的函数(间隔天数)
Nov 15 Javascript
JavaScript语言核心数据类型和变量使用介绍
Aug 23 Javascript
JS简单计算器实例
Jan 20 Javascript
angular中使用路由和$location切换视图
Jan 23 Javascript
jquery trigger实现联动的方法
Feb 29 Javascript
详谈js遍历集合(Array,Map,Set)
Apr 06 Javascript
微信小程序开发中的疑问解答汇总
Jul 03 Javascript
Node.js使用Express.Router的方法
Nov 14 Javascript
JS函数内部属性之arguments和this实例解析
Oct 07 Javascript
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
Jul 19 Javascript
解决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
第五节 克隆 [5]
2006/10/09 PHP
PHP中一个控制字符串输出的函数
2006/10/09 PHP
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
PHP中的魔术方法总结和使用实例
2015/05/11 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
Mootools 1.2教程(2) DOM选择器
2009/09/14 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
详解JavaScript中void语句的使用
2015/06/04 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
jQuery实现简易的天天爱消除小游戏
2015/10/16 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
2016/01/06 Javascript
js纯数字逐一停止显示效果的实现代码
2016/03/16 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
JavaScript实现省市县三级级联特效
2017/05/16 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
Angular4 组件通讯方法大全(推荐)
2018/07/12 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
[01:13]2014DOTA2西雅图邀请赛 舌尖上的TI4
2014/07/08 DOTA
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
python多进程使用及线程池的使用方法代码详解
2018/10/24 Python
python学生管理系统
2019/01/30 Python
Django 内置权限扩展案例详解
2019/03/04 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
英国标准协会商店:BSI Shop
2019/02/25 全球购物
BudgetAir印度:预订航班、酒店和汽车租赁
2019/07/07 全球购物
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
投标人廉洁自律承诺书
2014/05/26 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
2015年采购工作总结
2015/04/10 职场文书
学校开除通知书
2015/04/25 职场文书
售房协议书范本
2015/08/11 职场文书