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


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 相关文章推荐
zeroclipboard复制到剪切板的flash
Aug 04 Javascript
jquery之empty()与remove()区别说明
Sep 10 Javascript
深入理解JavaScript系列(4) 立即调用的函数表达式
Jan 15 Javascript
jquery获取一个元素下面相同子元素的个数代码
Jul 31 Javascript
javascript实现给定半径求出圆的面积
Jun 26 Javascript
js对象浅拷贝和深拷贝详解
Sep 05 Javascript
JS简单实现移动端日历功能示例
Dec 28 Javascript
js实现移动端轮播图效果
Dec 09 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
Sep 28 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 jQuery
在Angular中使用JWT认证方法示例
Sep 10 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
Apr 04 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
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
2017/06/07 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
php实现文章评论系统
2019/02/18 PHP
Microsoft Ajax Minifier 压缩javascript的方法
2010/03/05 Javascript
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
使用jquery制作弹出框效果
2015/04/03 Javascript
javascript如何操作HTML下拉列表标签
2015/08/20 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
Bootstrap按钮组实例详解
2017/07/03 Javascript
浅析node.js的模块加载机制
2018/05/25 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
微信小程序tabbar底部导航
2018/11/05 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
2018/12/20 Javascript
Vue.js路由实现选项卡简单实例
2019/07/24 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
在Linux下调试Python代码的各种方法
2015/04/17 Python
利用Python学习RabbitMQ消息队列
2015/11/30 Python
python中range()与xrange()用法分析
2016/09/21 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
2018/05/29 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
2019/07/31 Python
python实现登录与注册系统
2020/11/30 Python
成人高等教育毕业生自我鉴定
2013/10/22 职场文书
公司门卫的岗位职责
2014/02/19 职场文书
求职信模板标准格式范文
2014/02/23 职场文书
小学教师培训方案
2014/06/09 职场文书
基层党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
回复函范文
2015/07/14 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang