zoukankan      html  css  js  c++  java
  • uni-app实现图片上传,添加展示与删除

    如图,uni-app实现图片上传,添加展示与删除

    <!-- 上传照片 -->
                <view class="item-num">
                    <view class="upload-img">
                        <!-- 预览缩略图 -->
                        <view class="q-image-wrap">
                            <!-- 图片缩略图  -->
                            <block v-for="(imgItem, idx) in photoFiles" :key="idx">
                                <view class="item">
                                    <image class="q-image" :src="imgItem.url" mode="aspectFill" :data-cur="imgItem.url" @tap="refundPicPreView"></image>
                                    </image>
                                    <!-- 移除图片的按钮  -->
                                    <view class="q-image-remover" :data-idx="idx" @tap="removeImage">
                                        <!-- <text>x</text> -->
                                        <image src="../../static/icons/delect.png" mode=""></image>
                                    </view>
                                </view>
                            </block>
                            <!-- 添加图片图标 -->
                            <view class="item" v-if="photoFiles.length < 6" @tap="getUploadImg">
                                <image class="q-image" src="../../static/icons/default-img.png" mode="">
                                </image>
                            </view>
                        </view>
                    </view>
                </view>
                <!-- end -->
    静态的data数据:
    data() { return { photoFiles: [ {url: "../../static/text.jpg",id:1}, {url: "../../static/text.jpg",id:2}, {url: "../../static/text.jpg",id:3}, {url: "../../static/text.jpg",id:4}, {url: "../../static/text.jpg",id:5} ], //凭证图片列表 }; },
    /**
                 * 上传图片
                 */
                getUploadImg: function(e) {
                    var idx = e.target.dataset.idx;
                    console.log(idx);
                    var ths = this;
                    wx.chooseImage({
                        count: 1,
                        // 默认9
                        sizeType: ['compressed'],
                        sourceType: ['album', 'camera'],
                        success: function(res) {
                            // 图片的本地临时文件路径列表
                            var tempFilePaths = res.tempFilePaths;
                            uni.showLoading({
                                mask: true
                            });
                            var params = {
                              url: "/p/file/upload",
                              filePath: tempFilePaths[0],
                              name: 'file',
                              callBack: function (res2) {
                                uni.hideLoading()
                                var img = {};
                                img.path = JSON.parse(res2).filePath;
                                img.url = JSON.parse(res2).resourcesUrl + JSON.parse(res2).filePath;
                                var photoFiles = ths.photoFiles;
                                photoFiles.push(img);
                                ths.setData({
                                  photoFiles: photoFiles
                                });
                              }
                            };
                            http.upload(params);
                        }
                    });
                },
                /**
                 * 图片点击预览
                 */
                refundPicPreView(e) {
                    var current = e.currentTarget.dataset.cur
                    var urls = []
                    this.photoFiles.forEach(el => {
                        urls.push(el.url)
                    })
                    uni.previewImage({
                        current: current,
                        urls: urls
                    })
                },
    
                /**
                 * 删除图片
                 */
                removeImage: function(e){
                    var idx = e.currentTarget.dataset.idx;
                    var photoFiles = this.photoFiles;
                    photoFiles.splice(idx, 1);
                    this.setData({
                        photoFiles: photoFiles
                    })
                }
    .item-num {}
    
    .item-num .upload-img {
        padding: 40rpx 40rpx 40rpx 30rpx;
    }
    
    .item-num .upload-img .q-image-wrap {
        display: flex;
        /* height: 500rpx; */
        flex-wrap: wrap;
    }
    
    .item-num .upload-img .q-image-wrap .item {
        position: relative;
        height: 200rpx;
         200rpx;
        margin-right: 20rpx;
        margin-bottom: 20rpx;
    }
    
    .item-num .upload-img .q-image-wrap .item .q-image {
        height: 200rpx;
         200rpx;
    }
    
    .item-num .upload-img .q-image-wrap .item .q-image-remover {
         0;
        height: 0;
        border-top: 66rpx solid #bfde85;
        border-left: 66rpx solid transparent;
        position: absolute;
        top: 0;
        right: 0;
    }
    
    /* .item-num .upload-img .q-image-wrap .item .q-image-remover text{
         30rpx;
        display: block;
        height: 30rpx;
        color: #FFFFFF;
        text-align: center;
        line-height: 30rpx;
        font-size: 30rpx;
        border-radius: 20rpx;
        background-color: #bfde85;
        position: absolute;
        top: -60rpx;
        right: 0;
    } */
    
    .item-num .upload-img .q-image-wrap .item .q-image-remover image {
         24rpx;
        height: 24rpx;
        position: absolute;
        top: -60rpx;
        right: 4rpx;
    }

    上传的没搞明白,有待改进

  • 相关阅读:
    大数据量问题,按需按实际查询而不是一次加载。
    spring中注解事务认识
    sqlmap文件在tomcat7中运行报错原因及<![CDATA[ ]]>
    网站404,500错误页面的处理,及500异常写入errorLog日志
    javascript div z-index, input tabindex属性说明
    sqlmap映射继承机制及映射字段顺序与SQL查询字段顺序无关
    jquery类选择器无法取得对象问题原因
    linux服务器初步印象,远程连接mysql数据库,传输文件,启动/关闭tomcat命令
    Linux iptables 防火墙详解
    Nginx之location 匹配规则详解
  • 原文地址:https://www.cnblogs.com/yoona-lin/p/13685230.html
Copyright © 2011-2022 走看看