需求:不符合格式的文件禁止上传
初始代码的逻辑是判断不符合格式的文件直接return false发现文件还是上传了
后来发现需要使用Promise实现禁止上传
实现代码如下:
<a-upload
:limit="1"
v-model:file-list="fileList"
:before-upload="beforeUpload"
:showUploadList="false"
>
<a-button v-if="!disable && fileList.length < 1">
<upload-outlined></upload-outlined>
上传
</a-button>
 
<span style="color: red">(此板块不允许上传图片)</span>
</a-upload>
const beforeUpload = (file: any, Upload: any) => {
// console.log("Upload----",Upload)
var fileSuffix = file.name.substr(file.name.indexOf("."));
// console.log("fileSuffix----", fileSuffix);
return new Promise((resolve, reject) => {
if (fileSuffix == ".jpg" || fileSuffix == ".png" || fileSuffix == ".jpeg") {
message.error("不支持图片格式");
return false;
}
formState.value.file = file;
fileList.value[0] = file;
columns.value = [
{
title: "附件名称",
dataIndex: "name",
},
{
title: "大小",
dataIndex: "size",
},
{
title: "操作",
dataIndex: "action",
},
];
return false;
});
};