この記事では主に、WeChat アプレットの画像アップロード、削除、プレビュー機能の実装方法を紹介します。これには、WeChat アプレット インターフェイスのレイアウト、イベント応答、画像操作関連の実装テクニックが含まれます。必要な友人は参考にしてください。 WeChat Mini プログラムの例では、画像のアップロード、削除、プレビュー機能が実装されています。参考のために皆さんと共有してください。詳細は次のとおりです:
ここでは主にWeChatアプレットの画像アップロード、画像削除、画像プレビューを紹介します
レイアウト<view class="img-v">
<view class="img" wx:for="{{imgs}}" wx:for-item="item" wx:key="*this">
<image src="{{item}}" data-index="{{index}}" mode="aspectFill" bindtap="previewImg"></image>
<view class="delete-btn" data-index="{{index}}" catchtap="deleteImg"></view>
</view>
<view class="upload-img-btn" bindtap="chooseImg"></view>
</view>
data: {
imgs: []
},
// 上传图片
chooseImg: function (e) {
var that = this;
var imgs = this.data.imgs;
if (imgs.length >= 9) {
this.setData({
lenMore: 1
});
setTimeout(function () {
that.setData({
lenMore: 0
});
}, 2500);
return false;
}
wx.chooseImage({
// count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
var tempFilePaths = res.tempFilePaths;
var imgs = that.data.imgs;
// console.log(tempFilePaths + '----');
for (var i = 0; i < tempFilePaths.length; i++) {
if (imgs.length >= 9) {
that.setData({
imgs: imgs
});
return false;
} else {
imgs.push(tempFilePaths[i]);
}
}
// console.log(imgs);
that.setData({
imgs: imgs
});
}
});
},
// 删除图片
deleteImg: function (e) {
var imgs = this.data.imgs;
var index = e.currentTarget.dataset.index;
imgs.splice(index, 1);
this.setData({
imgs: imgs
});
},
// 预览图片
previewImg: function (e) {
//获取当前图片的下标
var index = e.currentTarget.dataset.index;
//所有图片
var imgs = this.data.imgs;
wx.previewImage({
//当前显示图片
current: imgs[index],
//所有图片
urls: imgs
})
}
関連記事:
Vue のエクステンドとコンポーネントの違いは何ですか? vue.jsを使用して$refsと$emitの親子コンポーネントインタラクションを実装する方法axiosを使用してAjaxリクエストを実装する方法(詳細なチュートリアル)JavaScriptで弾性効果を実現する方法以上がWeChatミニプログラムに写真アップロードなどの一連の機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。