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


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 相关文章推荐
js的隐含参数(arguments,callee,caller)使用方法
Jan 28 Javascript
Jquery 在页面加载后执行的几种方式
Mar 14 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
Sep 22 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
Oct 31 Javascript
AngularJS入门心得之directive和controller通信过程
Jan 25 Javascript
Bootstrap源码解读按钮(5)
Dec 23 Javascript
react-native ListView下拉刷新上拉加载实现代码
Aug 03 Javascript
JS设计模式之数据访问对象模式的实例讲解
Sep 30 Javascript
vue2+el-menu实现路由跳转及当前项的设置方法实例
Nov 07 Javascript
javascript实现文件拖拽事件
Mar 29 Javascript
js取0-9随机取4个数不重复的数字代码实例
Mar 27 Javascript
js 数据类型判断的方法
Dec 03 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
数据库查询记录php 多行多列显示
2009/08/15 PHP
PHP读书笔记整理_结构语句详解
2016/07/01 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
PHP多进程编程实例详解
2017/07/19 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
Javascript操作表单实例讲解(下)
2016/06/20 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
js 点击a标签 获取a的自定义属性方法
2016/11/21 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
2018/09/01 Javascript
微信小程序实现富文本图片宽度自适应的方法
2019/01/20 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
python 正则表达式 概述及常用字符
2009/05/04 Python
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
Python函数式编程指南(四):生成器详解
2015/06/24 Python
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
2018/10/15 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
python中time库的实例使用方法
2019/10/31 Python
Python使用pyexecjs代码案例解析
2020/07/13 Python
pandas参数设置的实用小技巧
2020/08/23 Python
python实现人工蜂群算法
2020/09/18 Python
彪马法国官网:PUMA法国
2019/12/15 全球购物
钳工实训报告总结
2014/11/04 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS