微信小程序实现图片上传放大预览删除代码


Posted in Javascript onJune 28, 2020

本文实例为大家分享了微信小程序图片上传放大预览的具体代码,供大家参考,具体内容如下

效果:

微信小程序实现图片上传放大预览删除代码

image.js代码:

Page({
 //选择相册或拍照
 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 that = this;
 var imgs = that.data.imgs;
 var index = e.currentTarget.dataset.index;//获取当前长按图片下标
 wx.showModal({
  title: '提示',
  content: '确定要删除此图片吗?',
  success: function (res) {
  if (res.confirm) {
   console.log('点击确定了');
   imgs.splice(index, 1);
  } else if (res.cancel) {
   console.log('点击取消了');
   return false;
  }
  that.setData({
   imgs: imgs
  });
  }
 })
 },
 // 预览图片
 previewImg: function (e) {
  //获取当前图片的下标
  var index = e.currentTarget.dataset.index;
  //所有图片
  var imgs = this.data.imgs;
 
  wx.previewImage({
  //当前显示图片
  current: imgs[index],
  //所有图片
  urls: imgs
  })
 }
})

image.wxml代码:

<button class="upload-img-btn" bindtap="chooseImg">上传</button>
 <view class="img" wx:for="{{imgs}}" wx:for-item="item" wx:key="*this">
 <image src="{{item}}" data-index="{{index}}" mode="widthFix" bindtap="previewImg" bindlongpress="deleteImg"></image>
 </view>

保存到服务器上的代码未完待续。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 操作日期、星期、元素的追加的实现代码
Feb 07 Javascript
将form表单中的元素转换成对象的方法适用表单提交
May 02 Javascript
js计算德州扑克牌面值的方法
Mar 04 Javascript
Javascript原型链的原理详解
Jan 05 Javascript
JavaScript设计模式经典之工厂模式
Feb 24 Javascript
Node.js 数据加密传输浅析
Nov 16 Javascript
JS实现移动端整屏滑动的实例代码
Nov 10 Javascript
angular第三方包开发整理(小结)
Apr 19 Javascript
React Native日期时间选择组件的示例代码
Apr 27 Javascript
js定义类的方法示例【ES5与ES6】
Jul 30 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
Sep 10 Javascript
JavaScript 严格模式(use strict)用法实例分析
Mar 04 Javascript
vue实现底部菜单功能
Jul 24 #Javascript
vue 下列表侧滑操作实例代码详解
Jul 24 #Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
Jul 24 #Javascript
微信小程序实现滴滴导航tab切换效果
Jul 24 #Javascript
JavaScript引用类型Array实例分析
Jul 24 #Javascript
详解微信小程序调起键盘性能优化
Jul 24 #Javascript
原生JavaScript实现remove()和recover()功能示例
Jul 24 #Javascript
You might like
基于flush()不能按顺序输出时的解决办法
2013/06/29 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
2014/07/05 PHP
PHP CURL 多线程操作代码实例
2015/05/13 PHP
Yii框架组件和事件行为管理详解
2016/05/20 PHP
laradock环境docker-compose操作详解
2019/07/29 PHP
jquery中animate动画积累的解决方法
2013/10/05 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
详解JavaScript中循环控制语句的用法
2015/06/03 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
2015/11/03 Javascript
JavaScript观察者模式(经典)
2015/12/09 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
2017/04/28 Javascript
JavaScript输出所选择起始与结束日期的方法
2017/07/12 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
2017/08/03 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
javascript导出csv文件(excel)的方法示例
2019/08/25 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
Ruby元编程基础学习笔记整理
2016/07/02 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
六行python代码的爱心曲线详解
2019/05/17 Python
python 爬取学信网登录页面的例子
2019/08/13 Python
windows下Python安装、使用教程和Notepad++的使用教程
2019/10/06 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
魔声耳机官方网站:Monster是世界第一品牌的高性能耳机
2016/10/26 全球购物
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
土木工程应届生求职信
2013/10/31 职场文书
2014学雷锋活动心得体会
2014/03/10 职场文书
国庆节演讲稿范文2014
2014/09/19 职场文书
停车位租赁协议书
2014/09/24 职场文书
nginx实现动静分离的方法示例
2021/11/07 Servers
MySQL创建定时任务
2022/01/22 MySQL