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


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基础第一章 JavaScript与用户端
Jul 22 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
Aug 09 Javascript
jQuery实现表格展开与折叠的方法
May 04 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
May 26 Javascript
AngularJS基础 ng-href 指令用法
Aug 01 Javascript
jquery实现拖动效果
Aug 10 Javascript
npm国内镜像 安装失败的几种解决方案
Jun 04 Javascript
vue绑定class与行间样式style详解
Aug 16 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
Dec 25 Javascript
vue中的watch监听数据变化及watch中各属性的详解
Sep 11 Javascript
bootstrap-table formatter 使用vue组件的方法
May 09 Javascript
koa-passport实现本地验证的方法示例
Feb 20 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/05/08 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
Discuz不使用插件实现简单的打赏功能
2019/03/21 PHP
js实现checkbox全选和反选示例
2014/05/01 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
JS中静态页面实现微信分享功能
2017/02/06 Javascript
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
纯js实现隔行变色效果
2017/11/29 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
如何通过shell脚本自动生成vue文件详解
2019/09/10 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
js布局实现单选按钮控件
2020/01/17 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
解决vue init webpack 下载依赖卡住不动的问题
2020/11/09 Javascript
python中的编码知识整理汇总
2016/01/26 Python
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
python实现发送邮件及附件功能
2021/03/02 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
Python队列RabbitMQ 使用方法实例记录
2019/08/05 Python
matplotlib jupyter notebook 图像可视化 plt show操作
2020/04/24 Python
python实例化对象的具体方法
2020/06/17 Python
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
OSPF有什么优点?为什么OSPF比RIP收敛快?
2013/02/13 面试题
汽车检测与维修个人求职信
2013/09/24 职场文书
食品安全工作实施方案
2014/03/26 职场文书
机关领导干部作风整顿整改措施
2014/09/19 职场文书
城管年度个人总结
2015/02/28 职场文书
上诉答辩状范文
2015/05/22 职场文书
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python