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


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 相关文章推荐
在百度知道团队中快速审批新成员的js脚本
Feb 02 Javascript
js闭包实例汇总
Nov 09 Javascript
jQuery获取样式中颜色值的方法
Jan 29 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
Dec 26 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
Jan 24 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
Feb 08 Javascript
基于jQuery实现文字打印动态效果
Apr 21 jQuery
angular.fromJson与toJson方法用法示例
May 17 Javascript
VUE长按事件需求详解
Oct 18 Javascript
学习node.js 断言的使用详解
Mar 18 Javascript
深入理解es6块级作用域的使用
Mar 28 Javascript
bootstrap table实现iview固定列的效果实例代码详解
Sep 30 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
Apache2 httpd.conf 中文版
2006/11/17 PHP
试用php中oci8扩展
2015/06/18 PHP
php中switch语句用法详解
2015/08/17 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
tp5.1 实现setInc字段自动加1
2019/10/18 PHP
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
2010/10/15 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
datagrid框架的删除添加与修改
2013/04/08 Javascript
JsRender实用入门教程
2014/10/31 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
原生js实现图片轮播特效
2015/12/18 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
2018/06/28 Javascript
OpenLayers3加载常用控件使用方法详解
2020/09/25 Javascript
Python的pycurl包用法简介
2015/11/13 Python
python解决Fedora解压zip时中文乱码的方法
2016/09/18 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
使用pandas将numpy中的数组数据保存到csv文件的方法
2018/06/14 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
基于django micro搭建网站实现加水印功能
2020/05/22 Python
使用Python pip怎么升级pip
2020/08/11 Python
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
canvas小画板之平滑曲线的实现
2020/08/12 HTML / CSS
美国汽车零部件和配件网站:CarParts
2019/03/13 全球购物
美国葡萄酒网上商店:Martha Stewart Wine Co.
2019/03/17 全球购物
北京英语导游词
2015/02/12 职场文书
辞职信的写法
2015/02/27 职场文书
2015年高中语文教学总结
2015/08/18 职场文书
蓝天保卫战收官在即 :15行业将开展环保分级评价
2019/07/19 职场文书
读《儒林外史》有感:少一些功利,多一些真诚
2020/01/19 职场文书
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript
Go中的条件语句Switch示例详解
2021/08/23 Golang
2022漫威和DC电影上映作品
2022/04/05 欧美动漫
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android