织梦自定义表单如何上传多张图片-Vue + Element 自定义上传封面组件功能

前段时间做一个项目,经常使用上传图片组件,而且只上传了一张封面,于是就想到自定义一个图片封面上传组件。 我们先看一下效果:

织梦自定义表单如何上传多张图片_上传文件的表单需要设置

第一张图是上传之前,第二张图是上传成功后织梦自定义表单如何上传多张图片,第三张图是鼠标放在上面后的效果! 首先织梦自定义表单如何上传多张图片,梳理需求。 我们使用照片墙来上传照片。 只能上传一张图片。 图片上传成功后,无法继续上传。 如果要更改图片,需要删除图片并重新上传。 单击图像上方的放大镜可查看更大的图像。 需要对上传图片的格式和大小进行限制。 组件代码:

  
0}" list-type="picture-card" :on-remove="handleRemove" :action="action" :before-upload="beforeUploadHandle" :on-success="successHandle" :on-change="changeHandle" :limit="1" :accept="accept" :on-exceed="handleExceed" :file-list="fileList" :on-preview="handlePictureCardPreview" >
export default { props: { action: { type: String, default: "", }, accept: { type: String, default: "", }, fileList:{ type: Array, default: () => [], }, }, watch: { fileList(newValue, oldValue) { this.mFileList = newValue } }, data() { return { dialogVisible: false, //图片放大 fileImg: "", //上传图片 dialogImageUrl: "", //图片地址 mFileList:this.fileList, }; }, methods: { handleRemove(file, fileList) { this.$emit("upload-remove", file); }, handlePictureCardPreview(file) { this.dialogImageUrl = file.url; this.dialogVisible = true; }, // 上传之前 beforeUploadHandle(file) { if (file.type !== "image/jpeg" && file.type !== "image/png") { this.$message({ message: "只支持jpg、png格式的图片!", type: "warning", }); return false; } const isLt2M = file.size / 1024 / 1024 < 2; if (!isLt2M) { this.$message({ message: "上传文件大小不能超过 2MB!", type: "warning", }); return false; } }, // 上传成功 successHandle(response, file, fileList) { this.mFileList = fileList; if (response && response.code === 200) { this.$message.success("图片上传成功!"); this.$emit("upload-success", response, file); } else { this.$message.error(response.msg); } }, changeHandle(file, fileList) { if(file.response && file.response.code == 500) { this.$emit("upload-error",file); } }, handleExceed(files, fileList) { this.$message.warning("只能上传1张图片!"); }, }, }; .upload .hidden .el-upload--picture-card { display: none; }

织梦自定义表单如何上传多张图片_上传文件的表单需要设置

调用组件代码:

    
import Upload from "../components/cover-upload/index.vue" export default { components: { Upload }, data() { return { url: "", fileList: [], } }, methods: { uploadUrl() { this.url = "http://xxx.xxx.xxx.xxx:xxx/yyxt/admin/course/courseInfo/upload?token=075de0303b15a38833a30a7a3b494794"//上传图片的后台接口 }, uploadError(file) { this.fileList = []; }, uploadFile(response, file) { this.fileList = [{ url: response.data, }, ]; }, removeFile(file) { this.fileList = []; }, }, mounted() { this.uploadUrl(); } }

织梦自定义表单如何上传多张图片_上传文件的表单需要设置

单击上传图片上的放大镜可显示图片的放大版本

织梦自定义表单如何上传多张图片_上传文件的表单需要设置

至此,这篇关于Vue+Element自定义上传封面组件的文章就介绍到这里了。 更多相关Vue+Element自定义上传内容请搜索云海天教程往期文章或继续浏览以下相关文章。 希望大家以后能学到更多支持云海天教程!