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


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 相关文章推荐
在网页中屏蔽快捷键
Sep 06 Javascript
JavaScript中的History历史对象
Jan 16 Javascript
JavaScript 全角转半角部分
Oct 28 Javascript
jquery禁止回车触发表单提交
Dec 12 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
Sep 06 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
Nov 06 Javascript
Jquery插件仿百度搜索关键字自动匹配功能
May 11 Javascript
JavaScript实现复制文章自动添加版权
Aug 02 Javascript
ES6知识点整理之对象解构赋值应用示例
Apr 17 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
May 18 Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
May 26 Javascript
eslint+prettier统一代码风格的实现方法
Jul 22 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
通过隐藏option实现select的联动效果
2009/11/10 Javascript
jQuery新闻滚动插件 jquery.roller.js
2011/06/27 Javascript
JavaScript数值数组排序示例分享
2014/05/27 Javascript
jquery处理json数据实例分析
2014/06/03 Javascript
jQuery插件slider实现拖动滑块选取价格范围
2015/04/30 Javascript
JavaScript Length 属性的总结
2015/11/02 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
详解NodeJs开发微信公众号
2018/05/25 NodeJs
JavaScript 中的 this 工作原理
2018/06/20 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
Python使用正则表达式获取网页中所需要的信息
2018/01/29 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
Python创建字典的八种方式
2019/02/27 Python
Python程序打包工具py2exe和PyInstaller详解
2019/06/28 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
Python基于OpenCV实现人脸检测并保存
2019/07/23 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
2019/08/27 Python
python中自带的三个装饰器的实现
2019/11/08 Python
Django中提示消息messages的设置方式
2019/11/15 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
2021/01/24 Python
Python实现曲线拟合的最小二乘法
2021/02/19 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
Annoushka英国官网:英国奢侈珠宝品牌
2018/10/20 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
小学毕业感言500字
2014/02/28 职场文书
白莲教口号
2014/06/18 职场文书
科学育儿宣传标语
2014/10/08 职场文书
出差报告范文
2014/11/06 职场文书
高中生综合素质自我评价
2015/03/06 职场文书
python munch库的使用解析
2021/05/25 Python
python turtle绘图命令及案例
2021/11/23 Python