微信小程序选择图片控件


Posted in Javascript onJanuary 19, 2021

本文实例为大家分享了微信小程序选择图片控件的具体代码,供大家参考,具体内容如下

微信小程序选择图片控件

xml:

<loading hidden="{{loadingHidden}}">
 加载中...
</loading>
<view class="add_carimg">
 <block>
 <view class="load_iamge">
 <text class="load_head_text">上传施工车辆照片</text>
 <text class="load_foot_text">{{imgbox.length}}/2</text>
 </view>
 <view class='pages'>
 <view class="images_box">
 <block wx:key="imgbox" wx:for="{{imgbox}}">
  <view class='img-box'>
  <image class='img' src='{{item}}' data-message="{{item}}" bindtap="imgYu"></image>
  <view class='img-delect' data-deindex='{{index}}' bindtap='imgDelete1'>
  <image class='img' src='/pages/images/delete_btn.png'></image>
  </view>
  </view>
 </block>
 <view class='img-box' bindtap='addPic1' wx:if="{{imgbox.length<2}}">
  <image class='img' src='/pages/images/load_image.png'></image>
 </view>
 </view>
 </view>
 </block>
</view>
<view>
 <button class="work_btn" bindtap="shanggang">上岗</button>
</view>

css: 

.work_btn {
 width: 60%;
 height: 35px;
 line-height: 35px;
 margin-top: 15px;
 border-radius: 5px;
 font-size: 30rpx;
 color: white;
 background-color: rgb(2, 218, 247);
}
 
.work_btn:active {
 width: 60%;
 height: 35px;
 line-height: 35px;
 margin-top: 15px;
 border-radius: 5px;
 font-size: 30rpx;
 color: white;
 background-color: rgb(151, 222, 231);
}
 
/*********/
 
.load_iamge {
 width: 100%;
 height: 30px;
 margin-top: 10px;
 display: flex;
 flex-direction: row;
}
 
.load_head_text {
 width: 95%;
 height: 20px;
 margin-bottom: 5px;
 margin-top: 5px;
 
 
}
 
.load_foot_text {
 width: 5%;
 height: 20px;
 margin-right: 15px;
 margin-top: 5px;
 margin-bottom: 5px;
 float: right;
 
}
 
.pages {
 width: 98%;
 margin: auto;
 overflow: hidden;
}
 
/* 图片 */
.images_box {
 width: 100%;
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 justify-content: flex-start;
 background-color: white;
}
 
.img-box {
 border: 2rpx;
 border-style: solid;
 border-color: rgba(170, 167, 167, 0.452);
 width: 200rpx;
 height: 200rpx;
 margin-left: 35rpx;
 margin-top: 20rpx;
 margin-bottom: 20rpx;
 position: relative;
}
 
/* 删除图片 */
.img-delect {
 width: 50rpx;
 height: 50rpx;
 border-radius: 50%;
 position: absolute;
 right: -20rpx;
 top: -20rpx;
}
 
.img {
 width: 100%;
 height: 100%;
}

js:

Page({
 
 /**
 * 页面的初始数据
 */
 data: {
 tempFilePaths: '',
 imgbox: [], //选择图片
 fileIDs: [], //上传云存储后的返回值
 src: 0,
 },
 
 onLoad: function (options) {
 
 
 },
 //图片点击事件
 imgYu: function (event) {
 var that = this;
 
 console.log(event.target.dataset.message + "这是啥");
 var src = event.target.dataset.message;
 //图片预览
 wx.previewImage({
 current: src, // 当前显示图片的http链接
 urls: [src] // 需要预览的图片http链接列表
 })
 }, // 删除照片 &&
 imgDelete1: function (e) {
 let that = this;
 let index = e.currentTarget.dataset.deindex;
 let imgbox = this.data.imgbox;
 imgbox.splice(index, 1)
 that.setData({
 imgbox: imgbox
 });
 },
 // 删除照片 &&
 imgDelete1: function (e) {
 let that = this;
 let index = e.currentTarget.dataset.deindex;
 let imgbox = this.data.imgbox;
 imgbox.splice(index, 1)
 that.setData({
 imgbox: imgbox
 });
 },
 // 选择图片 &&&
 addPic1: function (e) {
 var imgbox = this.data.imgbox;
 console.log(imgbox)
 var that = this;
 var n = 2;
 if (2 > imgbox.length > 0) {
 n = 2 - imgbox.length;
 } else if (imgbox.length == 2) {
 n = 1;
 }
 wx.chooseImage({
 count: n, // 默认9,设置图片张数
 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
 success: function (res) {
  // console.log(res.tempFilePaths)
  // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
  var tempFilePaths = res.tempFilePaths
  console.log('路径' + tempFilePaths);
  if (imgbox.length == 0) {
  imgbox = tempFilePaths
  } else if (2 > imgbox.length) {
  imgbox = imgbox.concat(tempFilePaths);
  }
  that.setData({
  imgbox: imgbox,
  imgnum: imgbox.length
  });
 }
 })
 },
 
 //图片
 imgbox: function (e) {
 this.setData({
 imgbox: e.detail.value
 })
 },
 
})

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

Javascript 相关文章推荐
javascript removeChild 使用注意事项
Apr 11 Javascript
ExtJS GTGrid 简单用户管理
Jul 01 Javascript
jQuery实现复选框成对选择及对应取消的方法
Mar 03 Javascript
JavaScript DOM进阶方法
Apr 13 Javascript
canvas实现流星雨的背景效果
Jan 13 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
Sep 07 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
Feb 11 Javascript
小程序视频列表中视频的播放与停止的示例代码
Jul 20 Javascript
vue3.0中的双向数据绑定方法及优缺点
Aug 01 Javascript
基于JS实现视频上传显示进度条
May 12 Javascript
Vue3.0 手写放大镜效果
Jul 25 Vue.js
浅谈TypeScript 索引签名的理解
Oct 16 Javascript
jQuery冲突问题解决方法
Jan 19 #jQuery
js实现随机点名
Jan 19 #Javascript
js实现有趣的倒计时效果
Jan 19 #Javascript
微信小程序之高德地图多点路线规划过程示例详解
Jan 18 #Javascript
从源码角度来回答keep-alive组件的缓存原理
Jan 18 #Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
Jan 18 #Javascript
vue-resource 拦截器interceptors使用详解
Jan 18 #Vue.js
You might like
PHP 数字左侧自动补0
2008/03/31 PHP
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
PHP set_time_limit(0)长连接的实现分析
2010/03/02 PHP
Codeigniter操作数据库表的优化写法总结
2014/06/12 PHP
合格的PHP程序员必备技能
2015/11/13 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
php arsort 数组降序排序详细介绍
2016/11/17 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
jquery 选择器引擎sizzle浅析
2013/02/06 Javascript
关于JS管理作用域的问题
2013/04/10 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
使用delegate方法为一个tr标签加一个链接
2014/06/27 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
javascript如何定义对象数组
2016/06/07 Javascript
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
微信小程序之数据缓存的实例详解
2017/09/29 Javascript
vue的全局提示框组件实例代码
2018/02/26 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
js判断浏览器的环境(pc端,移动端,还是微信浏览器)
2020/12/24 Javascript
基于Angular 8和Bootstrap 4实现动态主题切换的示例代码
2020/02/11 Javascript
小程序实现多个选项卡切换
2020/06/19 Javascript
vue.js页面加载执行created,mounted的先后顺序说明
2020/11/07 Javascript
Python探索之静态方法和类方法的区别详解
2017/10/27 Python
Python数组并集交集补集代码实例
2020/02/18 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
python 利用百度API识别图片文字(多线程版)
2020/12/14 Python
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
行政办公室岗位职责
2014/03/18 职场文书
工厂门卫岗位职责范本
2014/04/04 职场文书
销售目标责任书
2014/07/23 职场文书
2015年资料员工作总结
2015/04/25 职场文书
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python