上传多张图片问题
发布于 7 年前 作者 oxue 8815 次浏览 来自 问答

上传的多张图片,删除的时候不能随机(即用户点击哪张就删除哪张)删除,总是按顺序删除

7 回复

妹子加油~

对,就是用的push

取到它的下标存起来,根据下标就可以想删哪张删哪张了

删除的话点击传下标用splice根据下标删除的

给你个参考吧:

// 删除图片

TrashImg: function (e) {

    var arr = []

    for (var i = 0; i < this.data.imgList.length; i++) {

        if (i != e.target.dataset.idx)

            arr.push(this.data.imgList[i])

        }

    this.data.imgList = arr

    this.setData({

        imgList: this.data.imgList,

        uploadMore: true

    })

}

然后把 TrashImg 放在图片上:

<view class=‘upload-list’>

    <block wx:for-items=’{{imgList}}’ wx:key=‘imgList’ wx:for-index=‘idx’>

        <view class=‘upload-item upload-image’>

            <image src=’{{item}}’ bindlongpress=‘TrashImg’ data-idx=’{{idx}}’ mode=‘aspectFit’ />

        </view>

    </block>

    <view class=‘upload-item btn-upload’ wx:if=’{{uploadMore}}’>

        <text bindtap=‘ChooseImg’></text>

    </view>

</view>

你在删除按钮里面添加一个data-index="{{index}}" 通过点击事件的时候this.data.images.splice(e.currentTarget.dataset.index,1)this.setData({

    images:this.data.images

})

你是用的push往数组里加的吧。。建议你用 list[index]

回到顶部