因为:after-read="beforeRead"写错了,应该是after-read,文件读取完成后的回调函数,但是我刚开始写成了before-read,这是(文件读取前的回调函数,返回 false 可终止文件读取,支持返Promise)vant组件里面的,搞了好半天才出来。一定要细心。
<div class="uploderloding">
<label for="">上传附件:</label>
<van-uploader accept="image/*,.pdf,.doc.,rar,.zip,.docx" v-model="fileList" :after-read="beforeRead">
<van-button icon="upgrade" type="default">上传文件</van-button>
</van-uploader>
<pcss"> style="margin-left: 5.4em;">支持扩展名:.rar .zip .doc .docx .pdf .jpg...</p>
</div>
beforeRead (file,detail) {
const abcd = file.abc = 1
console.log(file,'detail',detail)
if (abcd == 1) {
file.status = 'uploading';
file.message = '上传中...';
setTimeout(() => {
file.status = 'done';
file.message = '上传成功';
vant.Toast(file.message);
}, 1000);
clearTimeout()
}else{
file.status = 'uploading';
file.message = '上传中...';
setTimeout(() => {
file.status = 'failed';
file.message = '上传失败';
}, 1000);
}
// return file,detail;
},