這篇文章給大家分享的是有關(guān)微信小程序如何實(shí)現(xiàn)選擇圖片和放大預(yù)覽圖片功能的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)公司是一家專(zhuān)注于成都網(wǎng)站制作、成都做網(wǎng)站與策劃設(shè)計(jì),山城網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:山城等地區(qū)。山城做網(wǎng)站價(jià)格咨詢(xún):18982081108
視頻中,老師也是看著官方文檔,為學(xué)生們講解,微信提供了系統(tǒng)的方法來(lái)選擇圖片.
wx.chooseImage({})
此方法是用來(lái)選擇圖片的方法,具體使用如下:
data: { avatarUrl:null },
首先在數(shù)據(jù)中定義接收數(shù)據(jù)的變量,然后調(diào)用方法選擇圖片,將圖片顯示出來(lái)。
bindViewTap:function(){ var that = this; wx.chooseImage({ // 設(shè)置最多可以選擇的圖片張數(shù),默認(rèn)9,如果我們?cè)O(shè)置了多張,那么接收時(shí)//就不在是單個(gè)變量了, count: 1, sizeType: ['original', 'compressed'], // original 原圖,compressed 壓縮圖,默認(rèn)二者都有 sourceType: ['album', 'camera'], // album 從相冊(cè)選圖,camera 使用相機(jī),默認(rèn)二者都有 success: function(res){ // 獲取成功,將獲取到的地址賦值給臨時(shí)變量 var tempFilePaths = res.tempFilePaths; that.setData({ //將臨時(shí)變量賦值給已經(jīng)在data中定義好的變量 avatarUrl:tempFilePaths }) }, fail: function(res) { // fail }, complete: function(res) { // complete } }) }
此時(shí)我們定義的全局變量,也就是data中的url,已經(jīng)有值了,現(xiàn)在只需要在頁(yè)面中顯示即可。
//點(diǎn)擊此按鈕調(diào)用選擇圖片的方法,成功后將圖片顯示在image標(biāo)簽上 <button bindtap="bindViewTap" type="submit">綁定事件</button> <image src="{{avatarUrl}}"></image>
如果是多選的話(huà),在顯示的時(shí)候,就不應(yīng)該直接顯示數(shù)據(jù)源了,這樣會(huì)報(bào)錯(cuò)的,因?yàn)榉祷氐氖菙?shù)組:
<image wx:for="{{avatarUrl}}" wx:key="unique" src="{{item}}"></image>
圖片預(yù)覽:
下面說(shuō)一下圖片預(yù)覽:
首先在data中定義好數(shù)據(jù)源:
data:{ avatarUrl:null, pictures: [ 'https://p0.meituan.net/movie/ea4ac75173a8273f3956e514a4c78018253143.jpeg', 'https://p0.meituan.net/movie/5d4fa35c6d1215b5689257307c461dd2541448.jpeg', 'https://p0.meituan.net/movie/0c49f98a93881b65b58c349eed219dba290900.jpg', 'https://p1.meituan.net/movie/45f98822bd15082ae3932b6108b17a01265779.jpg', 'https://p1.meituan.net/movie/722de9a7b0c1f9c262162d87eccaec7c451290.jpg', 'https://p0.meituan.net/movie/cb9be5bbedb78ce2ef8e83c93f83caca474393.jpg', 'https://p1.meituan.net/movie/a852b992cdec15319c717ba9fa9b7a35406466.jpg', 'https://p1.meituan.net/movie/dc1f94811793e9c653170cba7b05bf3e484939.jpg' ] },
然后創(chuàng)建方法previewImage,實(shí)現(xiàn)圖片預(yù)覽:
previewImage: function(e){ var that = this, //獲取當(dāng)前圖片的下表 index = e.currentTarget.dataset.index, //數(shù)據(jù)源 pictures = this.data.pictures; wx.previewImage({ //當(dāng)前顯示下表 current: pictures[index], //數(shù)據(jù)源 urls: pictures }) }
然后再頁(yè)面中邊遍歷數(shù)據(jù),顯示:
<view> <image wx:for="{{pictures}}" wx:key="unique"src="{{item}}" data-index="{{index}}" bindtap="previewImage"></image> </view>
先列表顯示全部圖片,綁定預(yù)覽方法,點(diǎn)擊圖片進(jìn)行左右預(yù)覽,
下面在給大家補(bǔ)充下微信小程序圖片放大預(yù)覽功能,具體內(nèi)容介紹如下所示:
需求:當(dāng)點(diǎn)擊圖片時(shí),當(dāng)前圖片放大預(yù)覽,且可以左右滑動(dòng)
實(shí)現(xiàn)方式:使用微信小程序圖片預(yù)覽接口
我們可以看到api需要兩個(gè)參數(shù),分別通過(guò)下面的data-list和data-src來(lái)傳到j(luò)s中
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代碼:
//圖片點(diǎn)擊事件 imgYu:function(event){ var src = event.currentTarget.dataset.src;//獲取data-src var imgList = event.currentTarget.dataset.list;//獲取data-list //圖片預(yù)覽 wx.previewImage({ current: src, // 當(dāng)前顯示圖片的http鏈接 urls: imgList // 需要預(yù)覽的圖片http鏈接列表 }) }
1.給圖片添加一個(gè)點(diǎn)擊事件(imgYu)
2.使用event.currentTarget.dataset
.自定義屬性名稱(chēng) 來(lái)獲取data-的值 如event.currentTarget.dataset.src
(獲取data-src的值)
3.之后將獲取的兩個(gè)值 放到wx.previewImage接口 里面即可
效果圖片如下:可以左右滑動(dòng)上一張下一張
感謝各位的閱讀!關(guān)于“微信小程序如何實(shí)現(xiàn)選擇圖片和放大預(yù)覽圖片功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
文章標(biāo)題:微信小程序如何實(shí)現(xiàn)選擇圖片和放大預(yù)覽圖片功能
文章URL:http://jinyejixie.com/article20/gggijo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站收錄、自適應(yīng)網(wǎng)站、網(wǎng)站內(nèi)鏈、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)