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


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
Feb 25 Javascript
jquery选择器大全 全面详解jquery选择器
Mar 06 Javascript
浅谈轻量级js模板引擎simplite
Feb 13 Javascript
JQuery查找DOM节点的方法
Jun 11 Javascript
如何利用Promises编写更优雅的JavaScript代码
May 17 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
Oct 14 Javascript
JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】
Jan 22 Javascript
微信小程序 数据绑定及运算的简单实例
Sep 20 Javascript
解决Vue编译时写在style中的路径问题
Sep 21 Javascript
JS Testing Properties 判断属性是否在对象里的方法
Oct 01 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
Feb 02 Javascript
vue抽出组件并传值实例
Jul 31 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
php获取文章上一页与下一页的方法
2014/12/01 PHP
ThinkPHP安装和设置
2015/07/27 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
PHP 实现手机端APP支付宝支付功能
2018/06/07 PHP
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
jquery 图片轮换效果
2010/07/29 Javascript
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
javascript通过navigator.userAgent识别各种浏览器
2013/10/25 Javascript
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
avascript中的自执行匿名函数应用示例
2014/09/15 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
2015/11/15 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
js跨域资源共享 基础篇
2016/07/02 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
基于Bootstrap实现城市三级联动
2017/11/23 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Python导入txt数据到mysql的方法
2015/04/08 Python
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
Python编程中归并排序算法的实现步骤详解
2016/05/04 Python
Python正则表达式使用范例分享
2016/12/04 Python
详解python3实现的web端json通信协议
2016/12/29 Python
用python实现简单EXCEL数据统计的实例
2017/01/24 Python
详解Python3中的迭代器和生成器及其区别
2018/10/09 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
python温度转换华氏温度实现代码
2020/12/06 Python
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
人事部专员岗位职责
2014/03/04 职场文书
项目建议书怎么写
2014/05/15 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
个人总结与自我评价2015
2015/03/11 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS