afterRead方法把file对象默认塞到formData.fileList数组中,而且file是个文件对象,塞入并没什么用,如果此时在将服务端返回的图片地址塞入formData.fileList.push({url:res.data.data.name})就出现两份一样图片了。
<van-uploader
v-model="formData.fileList"
accept="image/png, image/gif, image/jpeg"
:max-size="4 * 500 * 1024"
:max-count="9"
:before-read="beforeRead"
:after-read="afterRead"
/>
afterRead() {
//上传图片
}
解决方案
这个是为了默认提供图片预览效果,如果你不需要的话,可以把 v-model 改成 :model-value
<van-uploader
:model-value="formData.fileList"
accept="image/png, image/gif, image/jpeg"
:max-size="4 * 500 * 1024"
:max-count="9"
:before-read="beforeRead"
:after-read="afterRead"
/>
afterRead() {
//上传图片
formData.fileList.push({
url:'xxxxxxxxx'
})
}