在使用Upload这个组件的时候,我们会发现它其实又许多的小坑坑。
如果我们在beforeUpload
中直接返回true或者是false,那么它其实也是会上传文件的,因为它也会触发onChange函数。
我这里是采用在对应的函数中返回一个promise
来解决的,就像下面这样:
export function checkBeforeFileUpload(file){
return new Promise((resolve, reject) => {
let fileName = file.name;
//截取文件名
let pointPos = fileName.indexOf('.');
fileName = fileName.substring(0, pointPos);
//判断文件是否符合正则表达式的规则
if (!fileNameRegular.reg.test(fileName)) {
message.error(fileNameRegular.msg);
return reject(false)
}
return resolve(true);
});
}
这样在不满足条件的情况下,它就不会上传文件啦