Vue+Ant Design of Vue上传文件,并限制上传文件数及限制其类型
Vue+Ant Design of Vue上传文件,并限制上传文件数及限制其类型
·
- 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; } }
更多推荐
已为社区贡献1条内容
所有评论(0)