- upload创建,accept选择上传的类型,file-list上传的数据,remove点击移除文件时的回调,before-upload上传文件之前的钩子,参数为上传的文件,若返回
false
则停止上传,change改变后的操作。 <a-upload
accept=".doc,.docx"
:file-list="fileList"
:remove="handleRemove"
:before-upload="beforeUpload"
@change="FileListChange">
<a-button> <a-icon type="upload" /> 选择文件 </a-button>
</a-upload>
- data数据
data() {
return {
fileList: [],
};
},
- 上传之前的操作
beforeUpload(file) {
this.fileList = [...this.fileList, file];
return false;
},
- 点击移除文件时的回调方法
handleRemove(file) {
const index = this.fileList.indexOf(file);
const newFileList = this.fileList.slice();
newFileList.splice(index, 1);
this.fileList = newFileList;
}
- 文件发生改变时
FileListChange(){
const { fileList } = this;
//限制只上传一个文件,再次上传时则替换(覆盖)以前的文件
if (fileList.length > 1) {
fileList.splice(0, 1)
}
// fileType为文件后缀
let fileType = fileList[0].name.replace(/.+\./, "")
// 文件类型不为doc与docx则上传失败
if(fileType!=='doc' && fileType!=='docx'){
this.$message.error('请输入正确的文件格式');
const newFileList = this.fileList.slice();
newFileList.splice(0, 1);
this.fileList = newFileList;
}
}