在使用‘mp-uploader‘组件时控制台报错:‘渲染层错误’?
发布于 4 年前 作者 whou 14004 次浏览 来自 官方Issues

之前一直用的好好的,今天在wxml页面中看到组件中有个bindtap="deleteImg"事件,于是我把这个事件放在js中,想在点击删除图片时触发一些操作,然后就开始报这个错了,js中添加binddelete='deletePic’事件同样会触发,把js恢复原状也没用。

有时重启电脑,重新编译又不会报错,重复上述操作以后报错又会出现。

具体是在图片上传完成后,点击图片预览,然后下方有个删除按钮,点击删除按钮时触发这个报错。

机型是华为 mate20 , 基础库是2.14.1

*********************** wxml ***********************
<mp-cells>
    <mp-cell>
        <mp-uploader select="{{selectFile}}" upload="{{uplaodFile}}"
            files="{{files}}" max-count="1" title="请上传一寸免冠照片" tips="如需更换,请点击照片并删除" ext-class="imageUploader">
		</mp-uploader>
    </mp-cell>
</mp-cells>
****************************************************

*********************** wxss ***********************
.page__bd .imageUploader {
  display: flex;
  justify-content: space-evenly;
}
.page__bd .imageUploader icon {
  display: none;
}
.page__bd .imageUploader .weui-uploader__hd {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
****************************************************

*********************** js ***********************
Page({
    data: {}
})
const db = wx.cloud.database({
    env: 'applysystem-test-0fcyrh333ec69c6'
})
Component({
    data: {
        files: [],
        showTopTips: false
    },
    methods: {
        onLoad: function (options) {
            this.setData({
                selectFile: this.selectFile.bind(this),
                uplaodFile: this.uplaodFile.bind(this)
            })
        },
        chooseImage: function (e) {
            wx.chooseImage({
                sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
                sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
            })
        },
        selectFile(files) {
            // console.log('files', files)
            // 返回false可以阻止某次文件上传
            this.setData({
                file: files.tempFilePaths[0]
            });
        },
        uplaodFile(files) {
            return new Promise((resolve, reject) => {
                setTimeout(() => {
                    reject('some error')
                }, 1000)
            })
        }
	}
})
****************************************************

1 回复

你好,代码片段麻烦以这种形式提供一下(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

回到顶部