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


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实现的日期操作类DateTime函数代码
Mar 16 Javascript
使用javascipt---实现二分查找法
Apr 10 Javascript
js 日期比较相关天数代码
Apr 02 Javascript
JavaScript操作class和style样式代码详解
Feb 13 Javascript
JavaScript驾驭网页-DOM
Mar 24 Javascript
基于javascript制作微博发布栏效果
Apr 04 Javascript
vue中的计算属性的使用和vue实例的方法示例
Dec 04 Javascript
vue-cli常用设置总结
Feb 24 Javascript
Vue插件从封装到发布的完整步骤记录
Feb 28 Javascript
浅谈JavaScript面向对象--继承
Mar 20 Javascript
了解JavaScript中let语句
May 30 Javascript
React Ant Design树形表格的复杂增删改操作
Nov 02 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读写音频文件信息的详解(支持WMA和MP3)
2013/05/10 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
2017/01/03 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
2018/01/21 jQuery
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
Vue组件为什么data必须是一个函数
2020/06/11 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
python中实现定制类的特殊方法总结
2014/09/28 Python
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
Python协程的用法和例子详解
2017/09/09 Python
Python 文件操作的详解及实例
2017/09/18 Python
python如何通过实例方法名字调用方法
2018/03/21 Python
对pandas中to_dict的用法详解
2018/06/05 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
python算法与数据结构之冒泡排序实例详解
2019/06/22 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
使用Python封装excel操作指南
2021/01/29 Python
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
大学毕业生工作的自我评价
2013/10/01 职场文书
办公室人员先进事迹
2014/01/27 职场文书
军训 自我鉴定
2014/02/03 职场文书
成立公司计划书
2014/05/07 职场文书
中学清明节活动总结
2014/07/04 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
紧急迫降观后感
2015/06/15 职场文书
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL