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


Posted in Javascript onDecember 18, 2017

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

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

布局

<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
  })
 }

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

Javascript 相关文章推荐
window.open关于浏览器拦截问题分析及解决方法
Feb 05 Javascript
dwz 如何去掉ajaxloading具体代码
May 22 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
Oct 14 Javascript
jQuery validate验证插件使用详解
May 11 Javascript
jQuery实现的简单百分比进度条效果示例
Aug 01 Javascript
微信小程序之电影影评小程序制作代码
Aug 03 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
Sep 12 jQuery
jquery实现侧边栏左右伸缩效果的示例
Dec 19 jQuery
JavaScript中的E-mail 地址格式验证
Mar 28 Javascript
vuejs实现标签选项卡动态更改css样式的方法
May 31 Javascript
vue开发拖拽进度条滑动组件
Sep 21 Javascript
vue router 传参获取不到的解决方式
Nov 13 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
Dec 18 #Javascript
在knockoutjs 上自己实现的flux(实例讲解)
Dec 18 #Javascript
vue的无缝滚动组件vue-seamless-scroll实例
Dec 18 #Javascript
分析JavaScript数组操作难点
Dec 18 #Javascript
微信小程序基于本地缓存实现点赞功能的方法
Dec 18 #Javascript
JavaScript模块详解
Dec 18 #Javascript
webpack打包js文件及部署的实现方法
Dec 18 #Javascript
You might like
神族 Protoss 剧情介绍
2020/03/14 星际争霸
php调用自己java程序的方法详解
2016/05/13 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
laravel 去掉index.php伪静态的操作方法
2019/10/12 PHP
node.js中的fs.fchmod方法使用说明
2014/12/16 Javascript
关于延迟加载JavaScript
2015/05/05 Javascript
在javascript中创建对象的各种模式解析
2016/05/16 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
基于node.js实现微信支付退款功能
2017/12/19 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
vue组件jsx语法的具体使用
2018/05/21 Javascript
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
JavaScript多种图形实现代码实例
2020/06/28 Javascript
[01:45:05]VGJ.T vs Newbee Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
Numpy数组的保存与读取方法
2018/04/04 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
材料加工硕士生求职信
2013/10/10 职场文书
大专毕业生简历的自我评价
2013/10/20 职场文书
中英文求职信范文
2014/01/27 职场文书
《盲人摸象》教学反思
2014/02/16 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
向女朋友道歉的话
2015/01/20 职场文书
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL
用Java实现简单计算器功能
2021/07/21 Java/Android