微信小程序?qū)崿F(xiàn)圖片選擇并預(yù)覽功能
本文實(shí)例為大家分享了微信小程序?qū)崿F(xiàn)圖片選擇并預(yù)覽的具體代碼,供大家參考,具體內(nèi)容如下
(一)、功能說明
做的是一個(gè)意見反饋,用戶發(fā)表意見和上傳圖片,限制了最多只能上傳三張圖片。
其他要點(diǎn):textarea使用,底部保存按鈕固定
(二)、小程序接口說明
wx.chooseLocation(Object object)
從本地相冊選擇圖片或使用相機(jī)拍照。

(三)、效果圖
效果如下:

(四)、代碼展示
WXML頁面:
<view class="wrap">
<view class="contant_wrap">
<view class="contant">
<textarea name="bindTextAreaBlur" bindblur="bindTextAreaBlur" auto-height placeholder="請描述您的問題或意見(必填)" maxlength="600"/>
</view>
<view class="contant-pic">
<view class="pics-list" wx:for="{{pics}}" wx:key="" >
<image src="{{item}}" class="uploadImg"></image>
<image src="../../images/delete.png" class="uploadImg-error" data-img="{{item}}" bindtap='deleteImg'></image>
</view>
<image src="../../images/uploadImg.png" class="uploadImg {{isShow?'true':'hideTrue'}}" bindtap='uploadImage' ></image>
</view>
</view>
<view class="phone">
<input name="inputPhone" bindinput="inputPhone" placeholder="您的手機(jī)號或者郵箱(選填)" />
</view>
<view class="phone">
<input name="inputName" bindinput="inputName" placeholder="您的稱呼(選填)" />
</view>
<view class="bottom" bindtap='submitAdvice'> 保存</view>
</view>
wxss頁面:
page{
background-color: #efefef;
}
.wrap{
width:90%;
margin-left:5%;
margin-top:10px;
font-size:15px;
}
.contant_wrap{
background-color: #fff;
}
.contant{
width: 94%;
margin: 0 auto
}
textarea{
min-height:300rpx;
max-height: 300rpx;
padding: 10rpx 0;
width: 100%;
}
.contant-pic{
width: 94%;
margin: 0 auto;
height:80px;
}
.pics-list{
width:73px;
height:73px;
float:left;
margin-right:6px;
}
.uploadImg{
width:70px;
height:70px;
}
.uploadImg-error{
height:25px;
width:25px;
position:relative;
top:-80px;
left:55px;
}
.hideTrue {
display: none
}
.true {
display: block
}
input{
margin-top: 30rpx;
height: 80rpx;
padding-left: 20rpx;
background-color: #fff;
}
.placeholder{
color: #999999;
font-size: 12pt;
}
.bottom{
width:100%;
height:40px;
background-color:#e64340;
position:fixed; bottom:0;
color:#ffff;
text-align: center;
line-height: 40px;
}
js中:
// pages/advice/advice.js
Page({
/** 頁面的初始數(shù)據(jù)*/
data: {
content:'',
phone:'',
name:'',
advice:'',
pics:[],
isShow: true
},
/**獲取textarea值:評論內(nèi)容 */
bindTextAreaBlur:function(e){
this.setData({
advice:e.detail.value
})
},
/**獲取手機(jī)或郵箱*/
inputPhone: function (e) {
this.setData({
phone: e.detail.value
})
},
/**獲取稱呼 */
inputName: function (e) {
this.setData({
name: e.detail.value
})
},
/**上傳圖片 */
uploadImage:function(){
let that=this;
let pics = that.data.pics;
wx.chooseImage({
count:3 - pics.length,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: function(res) {
let imgSrc = res.tempFilePaths;
pics.push(imgSrc);
if (pics.length >= 3){
that.setData({
isShow: false
})
}
that.setData({
pics: pics
})
},
})
},
/**刪除圖片 */
deleteImg:function(e){
let that=this;
let deleteImg=e.currentTarget.dataset.img;
let pics = that.data.pics;
let newPics=[];
for (let i = 0;i<pics.length; i++){
//判斷字符串是否相等
if (pics[i]["0"] !== deleteImg["0"]){
newPics.push(pics[i])
}
}
that.setData({
pics: newPics,
isShow: true
})
},
/**提交 */
submitAdvice:function(){
let that=this;
let advice = that.data.advice
let name=this.data.name
let phone=this.data.phone
let pics=this.data.pics
//保存操作
}
})
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JS 設(shè)計(jì)模式之:單例模式定義與實(shí)現(xiàn)方法淺析
這篇文章主要介紹了JS 設(shè)計(jì)模式之:單例模式,結(jié)合實(shí)例形式分析了JS 單例模式原理、定義、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2020-05-05
JS根據(jù)瀏覽器窗口大小實(shí)時(shí)動(dòng)態(tài)改變網(wǎng)頁文字大小的方法
這篇文章主要介紹了JS根據(jù)瀏覽器窗口大小實(shí)時(shí)動(dòng)態(tài)改變網(wǎng)頁文字大小的方法,涉及JavaScript針對頁面寬高的動(dòng)態(tài)獲取與元素樣式動(dòng)態(tài)運(yùn)算的相關(guān)技巧,需要的朋友可以參考下2016-02-02
小程序雙頭slider選擇器的實(shí)現(xiàn)示例
這篇文章主要介紹了小程序雙頭slider選擇器的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
js實(shí)現(xiàn)網(wǎng)頁標(biāo)題欄閃爍提示效果實(shí)例分析
這篇文章主要介紹了js實(shí)現(xiàn)網(wǎng)頁標(biāo)題欄閃爍提示效果的方法,以實(shí)例形式分析了網(wǎng)上比較常見的實(shí)現(xiàn)方法,并對于原理進(jìn)行分析并加以改進(jìn),最后給出了一個(gè)具體的應(yīng)用實(shí)例供大家參考,需要的朋友可以參考下2014-11-11
深入理解JavaScript強(qiáng)制類型轉(zhuǎn)換
JavaScript中的強(qiáng)制類型轉(zhuǎn)換包括顯式和隱式轉(zhuǎn)換,涉及字符串、數(shù)字和布爾值三種基本類型,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09
flexslider.js實(shí)現(xiàn)移動(dòng)端輪播
本文主要分享了flexslider.js實(shí)現(xiàn)移動(dòng)端輪播的示例代碼,具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02
antd designable平臺的組件拖拽功能實(shí)現(xiàn)代碼
這篇文章主要介紹了antd designable平臺的組件拖拽功能實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-07-07

