首頁  >  文章  >  微信小程式  >  小程式中實作選擇預覽圖片同時可以實現長按刪除圖片的程式碼

小程式中實作選擇預覽圖片同時可以實現長按刪除圖片的程式碼

不言
不言原創
2018-08-10 14:18:374108瀏覽

這篇文章帶給大家的內容是關於小程式中實現選擇預覽圖片同時可以實現長按刪除圖片的程式碼,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

最近在做一個小程式的項目,初次接觸,也是邊學邊做,目前遇到圖片處理的相關問題,在此記錄,也對有需要的朋友提供一些幫助。 類似微信朋友圈發布圖片,長按指定圖片刪除

小程式中實作選擇預覽圖片同時可以實現長按刪除圖片的程式碼小程式中實作選擇預覽圖片同時可以實現長按刪除圖片的程式碼小程式中實作選擇預覽圖片同時可以實現長按刪除圖片的程式碼
#長按圖片刪除,不足9張可以繼續加入
小程式中實作選擇預覽圖片同時可以實現長按刪除圖片的程式碼
#圖片預覽效果

實現想法:

  • #調整頁面,實作展示效果

  • 使用wx.chooseImage實作拍照和選擇照片

  • #使用wx.previewImage實作圖片預覽

  • #使用bindlongpress自訂圖片刪除功能

#話不多說,上程式碼:
wxml程式碼

<view class="weui-cells">
  <view class="weui-cell">
    <view class="weui-cell__bd">
      <view class="weui-uploader">
        <view class="weui-uploader__hd">
          <view class="weui-uploader__title">图片上传</view>
          <view class="weui-uploader__info">{{files.length}} / 9</view>
        </view>
        <view class="weui-uploader__bd">
          <view class="weui-uploader__files" id="uploaderFiles">
            <block wx:for="{{files}}" wx:key="*this">
              <view class="weui-uploader__file" bindtap="previewImage" bindlongpress="deleteImage" id="{{item}}" data-index="{{index}}">
                <image class="weui-uploader__img" src="{{item}}" mode="aspectFill"/>
              </view>
            </block>
          </view>
          <view wx:if="{{files.length < 9}}" class="weui-uploader__input-box" >
            <view class="weui-uploader__input" bindtap="chooseImage"></view>
          </view>
        </view>
      </view>
    </view>
  </view></view>

js代碼

Page({
  data: {
    files: []
  },
  chooseImage: function(e) {
    var that = this;    var images = that.data.files;
    wx.chooseImage({
      count: 9 - images.length,
      sizeType: [&#39;original&#39;, &#39;compressed&#39;],
      sourceType: [&#39;album&#39;, &#39;camera&#39;],
      success: function(res) {
        // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
        that.setData({
          files: that.data.files.concat(res.tempFilePaths)
        });
      }
    })
  },
  previewImage: function(e) {
    wx.previewImage({
      current: e.currentTarget.id,
      urls: this.data.files
    })
  },
  deleteImage: function(e) {
    var that = this;    var images = that.data.files;    var index = e.currentTarget.dataset.index; //获取当前长按图片下标
    wx.showModal({
      title: &#39;系统提醒&#39;,
      content: &#39;确定要删除此图片吗?&#39;,
      success: function(res) {
        if (res.confirm) {
          images.splice(index, 1);
        } else if (res.cancel) {          return false;
        }
        that.setData({
          files: images
        });
      }
    })
  }
})

相關推薦:

微信小程式中如何自訂showmodal彈出框(附程式碼)

微信小程式中如何實作清單渲染多層巢狀循環

小程式中用rich-text來實作ul功能(程式碼)

以上是小程式中實作選擇預覽圖片同時可以實現長按刪除圖片的程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn