微信小程序实现图片上传、删除和预览功能的方法

 更新时间:2017年12月18日 09:51:48   作者:anLazyAnt  
这篇文章主要介绍了微信小程序实现图片上传、删除和预览功能的方法,涉及微信小程序界面布局、事件响应及图片操作相关实现技巧,需要的朋友可以参考下

本文实例讲述了微信小程序实现图片上传、删除和预览功能的方法。分享给大家供大家参考,具体如下:

这里主要介绍一下微信小程序的图片上传图片删除和图片预览

布局

<view class="img-v">
 <view class="img" wx:for="{{imgs}}" wx:for-item="item" wx:key="*this">
  <image src="{{item}}" data-index="{{index}}" mode="aspectFill" bindtap="previewImg"></image>
  <view class="delete-btn" data-index="{{index}}" catchtap="deleteImg"></view>
 </view>
 <view class="upload-img-btn" bindtap="chooseImg"></view>
</view>

JS处理

 data: {
  imgs: []
 },
// 上传图片
 chooseImg: function (e) {
  var that = this;
  var imgs = this.data.imgs;
  if (imgs.length >= 9) {
   this.setData({
    lenMore: 1
   });
   setTimeout(function () {
    that.setData({
     lenMore: 0
    });
   }, 2500);
   return false;
  }
  wx.chooseImage({
   // count: 1, // 默认9
   sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
   sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
   success: function (res) {
    // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
    var tempFilePaths = res.tempFilePaths;
    var imgs = that.data.imgs;
    // console.log(tempFilePaths + '----');
    for (var i = 0; i < tempFilePaths.length; i++) {
     if (imgs.length >= 9) {
      that.setData({
       imgs: imgs
      });
      return false;
     } else {
      imgs.push(tempFilePaths[i]);
     }
    }
    // console.log(imgs);
    that.setData({
     imgs: imgs
    });
   }
  });
 },
 // 删除图片
 deleteImg: function (e) {
  var imgs = this.data.imgs;
  var index = e.currentTarget.dataset.index;
  imgs.splice(index, 1);
  this.setData({
   imgs: imgs
  });
 },
 // 预览图片
 previewImg: function (e) {
   //获取当前图片的下标
  var index = e.currentTarget.dataset.index;
   //所有图片
  var imgs = this.data.imgs;
  wx.previewImage({
   //当前显示图片
   current: imgs[index],
   //所有图片
   urls: imgs
  })
 }

希望本文所述对大家微信小程序开发有所帮助。

相关文章

  • ElementUI table无缝循环滚动的示例代码

    ElementUI table无缝循环滚动的示例代码

    这篇文章主要介绍了ElementUI table无缝循环滚动的示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • JS使用for in有序获取对象数据

    JS使用for in有序获取对象数据

    这篇文章主要介绍了JS使用for in有序获取对象数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • javascript如何实现暂停功能

    javascript如何实现暂停功能

    这篇文章主要介绍了javascript如何实现暂停功能,,Javascript本身没有暂停功能,同时vbscript也不能使用doEvents,故编写此函数实现此功能, 需要的朋友可以参考下
    2015-11-11
  • JavaScript学习笔记之数组随机排序

    JavaScript学习笔记之数组随机排序

    这篇文章主要介绍了JavaScript学习笔记之数组随机排序的相关资料,需要的朋友可以参考下
    2016-03-03
  • 原生js实现移动小球(碰撞检测)

    原生js实现移动小球(碰撞检测)

    这篇文章主要介绍了原生js实现会动的小球,碰撞检测功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • JavaScript prototype属性使用说明

    JavaScript prototype属性使用说明

    prototype 是在 IE 4 及其以后版本引入的一个针对于某一类的对象的方法,而且特殊的地方便在于:它是一个给类的对象添加方法的方法!
    2010-05-05
  • 基于原生js实现九宫格算法代码实例

    基于原生js实现九宫格算法代码实例

    这篇文章主要介绍了基于原生js实现九宫格算法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • JS实现将图片转为base64格式

    JS实现将图片转为base64格式

    Base64是一种用64个字符来表示任意二进制数据的方法,这篇文章主要为大家介绍了如何实现将图片转为base64格式,感兴趣的小伙伴可以学习一下
    2023-07-07
  • 前端URL拼接路径参数具体实现代码

    前端URL拼接路径参数具体实现代码

    这篇文章主要给大家介绍了关于前端URL拼接路径参数具体实现的相关资料,url地址拼接是经常会遇到的问题,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Layui数据表格判断编辑输入的值,是否为我需要的类型详解

    Layui数据表格判断编辑输入的值,是否为我需要的类型详解

    今天小编就为大家分享一篇Layui数据表格判断编辑输入的值,是否为我需要的类型详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10

最新评论