微信小程序-----微信小程序选择本地图片显示并预览(实现左右滑动)
一、选择图片并显示
1、创建页面
这里我直接将我的页面信息展示出来给大家看。附上我的代码
就是一个简单的页面的代码其中还隐藏了要显示的image,因为没有值,所以还看不到。
wxml 页面代码
<view class="display_img"> <block wx:for="{{lista}}"> <view class="img_size_box"> <image src="{{item}}" class="img_size" bind:tap="fangda" data-urls="{{lista}}" data-url="{{item}}"></image> </view></block> </view> <view> <button bind:tap="selectPicture">选择图片</button> </view>
wxss样式:
.
.display_img{ width: 80%; margin-left: 10%; margin-top: 20px; display: flex; flex-direction: row; flex-wrap: wrap; } .img_size_box{ width: 32%; height: 100px; margin: 1px; overflow: hidden; text-align: center; } .img_size{ text-align: center; width: 100%; height: 100%; object-fit: cover; }
2、选择本地的图片
点击选择图片按钮,打开媒体选择器
首先,给Button进行事件的绑定,使用bind-tap来进行绑定,给出一个方法名。
然后在js里面实现方法
selectPicture:function(e){ wx.chooseMedia({ count:9, mediaType:['image','video'], sourceType:"album", maxDuration:30, success:(res)=>{ let i=0; var list=new Array for (i;i<res.tempFiles.length;i++){ list.push(res.tempFiles[i].tempFilePath) } this.setData({ lista:list }) } }) }
解释:
在选择图片成功后,会返回图片的信息,在这里我们只需要获取图片的路径就行了。
首先我们创建一个数组存放我们所选择图片的路径
var list = new Array
然后得到图片路径放入数组
使用 res.tempFiles[].tempFilePath来得到路径。
最后设置数据给lista。
3、显示图片到页面上
在这里我们使用来遍历显示
<block wx:for="{{lista}}">
<view class="img_size_box">
<image src="{{item}}" class="img_size" bind:tap="fangda" data-urls="{{lista}}" data-url="{{item}}"></image>
</view></block>
</view>
{{lista}}是我们上面设置数据的lista
{{item}}代表lista里面的值
得到的效果如图所示:
二、预览图片
1、绑定事件,获得当前图片的url
<image src="{{item}}" class="img_size" bind:tap="fangda" data-urls="{{lista}}" data-url="{{item}}"></image>
1
绑定点击事件方法名:dangda(我直接拼音,嘿嘿嘿~~)
在这里我们需要传递回两个参数
一个是当前图片的url(代码中为url)
一个是全部图片的url(代码中为urls)
2、调用方法预览图片
fangda:function(e){ console.log(e.currentTarget.dataset.url) wx.previewImage({ current:e.currentTarget.dataset.url, urls: e.currentTarget.dataset.urls, success:(res)=>{ }, }) }
采用wx.previewImage来进行图片预览
current:是当前显示图片的url
urls:是所用的图片地址的数组集合。
当你点击图片,就会显示到你当前的图片,然后左右滑动,就会显示相邻的图片了。
效果如下:
这是向左划。如果你想要只显示当前一张图片,就直接在urls里面传递一张图片的路径就行了!
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_67449756/article/details/134495173