当前位置:首页 > 日记 > 正文

微信小程序选择和放大预览功能

微信小程序选择和放大预览功能

视频中,老师也是看着官方文档,为学生们讲解,微信提供了系统的方法来选择图片.

wx.chooseImage({})

此方法是用来选择图片的方法,具体使用如下:

 data: {  avatarUrl:null },

首先在数据中定义接收数据的变量,然后调用方法选择图片,将图片显示出来。

bindViewTap:function(){  var that = this;  wx.chooseImage({  // 设置最多可以选择的图片张数,默认9,如果我们设置了多张,那么接收时//就不在是单个变量了,   count: 1,    sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有   sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有   success: function(res){    // 获取成功,将获取到的地址赋值给临时变量    var tempFilePaths = res.tempFilePaths;    that.setData({    //将临时变量赋值给已经在data中定义好的变量     avatarUrl:tempFilePaths    })   },   fail: function(res) {    // fail   },   complete: function(res) {    // complete   }  }) }

此时我们定义的全局变量,也就是data中的url,已经有值了,现在只需要在页面中显示即可。

//点击此按钮调用选择图片的方法,成功后将图片显示在image标签上 <button bindtap="bindViewTap" type="submit">绑定事件</button><image src="{{avatarUrl}}"></image>

如果是多选的话,在显示的时候,就不应该直接显示数据源了,这样会报错的,因为返回的是数组:

<image wx:for="{{avatarUrl}}" wx:key="unique" src="{{item}}"></image>

图片预览:

下面说一下图片预览:

首先在data中定义好数据源:

data:{  avatarUrl:null,  pictures: [ '/d/know/2023030503/eyt2o3jxcox.webp',   '/d/know/2023030503/dwkoz4xxe4g.webp',   '/d/know/2023030503/v1cnnihauev.webp',   '/d/know/2023030503/hnwls3qlo3p.webp',   '/d/know/2023030503/2yysgf5zlpk.webp',   '/d/know/2023030503/5nfw1v5vfey.webp',   '/d/know/2023030503/necxlsz1lwq.webp',   '/d/know/2023030503/nfwfgqf0qxw.webp'  ] },

然后创建方法previewImage,实现图片预览:

 previewImage: function(e){  var that = this,  //获取当前图片的下表    index = e.currentTarget.dataset.index,    //数据源    pictures = this.data.pictures;  wx.previewImage({  //当前显示下表   current: pictures[index],   //数据源   urls: pictures  }) }

然后再页面中边遍历数据,显示:

<view> <image wx:for="{{pictures}}" wx:key="unique"src="{{item}}" data-index="{{index}}" bindtap="previewImage"></image></view>

先列表显示全部图片,绑定预览方法,点击图片进行左右预览,

下面在给大家补充下微信小程序图片放大预览功能,具体内容介绍如下所示:

需求:当点击图片时,当前图片放大预览,且可以左右滑动

实现方式:使用微信小程序图片预览接口

我们可以看到api需要两个参数,分别通过下面的data-list和data-src来传到js中

wxml代码:

 <!--图片描述--> <view wx:if="{{item.pictures}}" class="list-dImg"> <image bindtap="imgYu" data-list="{{item.pictures}}" data-src="{{dImg}}" wx:for="{{item.pictures}}" wx:for-item="dImg" src="{{dImg}}"></image> </view>

js代码:

//图片点击事件 imgYu:function(event){ var src = event.currentTarget.dataset.src;//获取data-src var imgList = event.currentTarget.dataset.list;//获取data-list //图片预览 wx.previewImage({ current: src, // 当前显示图片的http链接 urls: imgList // 需要预览的图片http链接列表 }) }

1.给图片添加一个点击事件(imgYu)

2.使用event.currentTarget.dataset.自定义属性名称   来获取data-的值 如event.currentTarget.dataset.src  (获取data-src的值)

3.之后将获取的两个值 放到wx.previewImage接口 里面即可

效果图片如下:可以左右滑动上一张下一张

总结

以上所述是小编给大家介绍的微信小程序选择图片和放大预览图片功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

相关文章

MySQL优化之使用连接 | join代替子

MySQL优化之使用连接 | join代替子

优化,子查询,连接,电脑软件,MySQL,使用连接(JOIN)来代替子查询(Sub-Queries)MySQL从4.1开始支持SQL的子查询。这个技术可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中。例如,我们要将客户基本信息表…

oracle逻辑运算符及其优先级简介

oracle逻辑运算符及其优先级简介

逻辑运算符,优先级,简介,电脑软件,oracle,Oracle的逻辑运算符也是SQL语句中的一个重要因素,总共有三个。 逻辑运算符 意义 和 如果这两个条件都是真的,则双值运算符的值为true。 或 如果两个条件之一是真的,则双值运算符的值是真的。 不 如果…

Nginx支持shtml格式方法

Nginx支持shtml格式方法

方法,支持,格式,电脑软件,Nginx,在nginx.conf配置文件http里添加:ssi on; ssi_silent_errors on; ssi_types text/shtml; 然后保存,重启nginx即可。…

美元在Vue.js观看使用

美元在Vue.js观看使用

美元,电脑软件,Vue,js,学习看美元在vue.js很多知识的两天两天,和非常重要的,所以,要加一点注意今天。 GitHub的源代码 观察者,观察者,和VM是Vue公司的最重要的组成部分,其中检测视图更新的重要环节的数据变化后,让我们看看如何实现一个简单的为…

PS滤镜制作美丽的艺术玫瑰

PS滤镜制作美丽的艺术玫瑰

滤镜,美丽,艺术,电脑软件,PS,效果图似乎有很高的层次感和墨感。它也很漂亮,给人以强烈的艺术美,制作过程可能有点复杂,有必要用不同的滤镜来制作纹理,逐渐渲染出图形感,最后用渐变贴图添加色彩等,如何使美丽的艺术由特定的PS滤镜上升在这里我们学…

没有关闭按钮(溶液)的锁屏界面下赢10

没有关闭按钮(溶液)的锁屏界面下赢10

界面,锁屏,关闭按钮,溶液,电脑软件,问题: 我想体验新的系统从赢10,Win8赢10升级计算机,并发现它不能被关闭在锁屏状态。因为没有关机按钮,很不方便,有什么办法可以解决吗 答案uff1a 赢10系统上面出现的,因为赢10组策略设置不同的用户是不同的,目…

如何使用节功能轻松管理PPT幻灯片

如何使用节功能轻松管理PPT幻灯片

幻灯片,轻松,功能,如何使用,电脑软件,  了解并合理使用PowerPoint2010中的&ldquo;节&rdquo;,将整个演示文稿划分成若干个小节来管理。这样一来,不仅有助于规划文稿结构;同时,编辑和维护起来也能大大节省时间。以下是小编为您带来的关于使用&…

PS手绘逼真的电商资生堂产品效果图

PS手绘逼真的电商资生堂产品效果图

教程,手绘,逼真,产品效果图,电脑软件,版权申明:本文原创作者&ldquo;粉刷工匠&rdquo;,感谢&ldquo;粉刷工匠&rdquo;的原创经验分享!Photoshop资生堂产品效果图手绘教程,主要分为确定产品大结构、画出瓶身大致光影、根据产品材质特性调整瓶身效果…

ps如何重现照片暗部细节

ps如何重现照片暗部细节

照片,暗部,细节,电脑软件,ps,   拍摄时,由于环境光线较暗或调整图像时将照片调的很暗,致使照片的暗部丢失了不少细节。怎样把丢失的暗部细节找回来?使用下面的方法,可以获得更多的暗部细节。ps重现照片暗部细节de 图文基础1、运行…

ppt和pptx有什么区别

ppt和pptx有什么区别

有什么区别,电脑软件,ppt,pptx,PPT格式(文件)PPT是MS Office 2003 版本中的 Power Point生成的文档。PPT(幻灯片),就是Power Point简称.Power Point是微软公司出品的office 软件系列重要组件之一(还有Excel,Word等).Microsoft Office PowerPo…

JS使用正则表达式找出最长连续子串

JS使用正则表达式找出最长连续子串

子串,正则表达式,连续,长度,最长,废话不多说了,直接给大家贴代码了,具体代码如下所示:function maxLenStr(str){ var len = 0, max_len = 0; var reg = new RegExp("(.)\\1{1,}","g"); var res = reg.exec(str); while(res != null)…

JS实现自定义状态栏动画文字效果示

JS实现自定义状态栏动画文字效果示

状态栏,自定义,动画,示例,文字效果,本文实例讲述了JS实现自定义状态栏动画文字效果。分享给大家供大家参考,具体如下:在IE浏览器中打开,显示动态文字的效果,主要浏览器左下角的文字。<body onload="stack();"> <script type="text/javascri…