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;}}