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


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 相关文章推荐
jquery 动态创建元素的方式介绍及应用
Apr 21 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
Jan 31 Javascript
jquery $(document).ready()和window.onload的区别浅析
Feb 04 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
Mar 05 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
Oct 10 Javascript
js实现带缓动动画的导航栏效果
Jan 16 Javascript
vue2的todolist入门小项目的详细解析
May 11 Javascript
vue实现图书管理demo详解
Oct 17 Javascript
详解vue 实例方法和数据
Oct 23 Javascript
vue实现路由切换改变title功能
May 28 Javascript
Vue+elementui 实现复杂表头和动态增加列的二维表格功能
Sep 23 Javascript
vue自定义组件实现双向绑定
Jan 13 Vue.js
解决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笔记之:AOP的应用
2013/04/24 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
php中cookie的使用方法
2014/03/29 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
2016/12/25 Javascript
js实现鼠标跟随运动效果
2020/08/02 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
详解webpack4升级指南以及从webpack3.x迁移
2018/06/12 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
浅谈js闭包理解
2019/04/01 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
python解析xml文件实例分享
2013/12/04 Python
Python使用Scrapy爬取妹子图
2015/05/28 Python
python实现堆和索引堆的代码示例
2018/03/19 Python
Python-接口开发入门解析
2019/08/01 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
威盛公司软件C++工程师笔试题面试题
2012/07/16 面试题
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
寻找最美家庭活动方案
2014/08/20 职场文书
医生学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
2014年团工作总结
2014/11/27 职场文书
北京导游词
2015/02/12 职场文书
安全生产先进个人总结
2015/02/15 职场文书
分享几个简单MySQL优化小妙招
2022/03/31 MySQL