el-upload 上传成功后,清空内容

背景:

在项目开发中,遇到过上传图片的情况,el-upload组件库上传之后,可以使用组件自带的clearFiles()方法清空已上传的文件列表,show-file-list属性是否显示已上传的文件列表。

方式二、如果upload组件是放在form表单里面的,可以使用resetFields()进行置空表单

一、upload组件的方法clearFiles()

可以在发送url请求成功之后添加该段代码完成清空文件列表,需要注意的是,必须在upload组件中添加ref属性和file-list属性 。

在需要的地方调用clearFiles()方法,即 this.$refs.upload.clearFiles() 可清空已上传的文件列表

二、form表单的置空 

官网链接:点击跳转官网

问题描述:

第一次已经上传成功,因为组件绑定file-list就存在一条对象;第2次打开就会存在“已有的”,执行上传操作,就会存在2条对象。因为最开始没有清除file-list为[]空数组 

在需要的地方调用resetFields()方法,即 this.$refs.resetFields() 可清空表单

代码解释:

 解决思路:

 三、其它

出现这个问题是值得反思的!!!

譬如以下这个示例的原理:

把一个存在的对象,用=赋值给一个新的变量2,更改变量2的属性值,会把变量1对应的也发生改变。同理要注意数组,的情况,包括但不限于:reduce()、filter()、会更改原数组的方法

var a,b;
var a = {name:'1'};
var b = a;
b.name = 1;
console.log ('b',b);

控制台打印:

 

el-upload组件可以通过设置accept属性来限制可以上传的文件类型,例如只允许上传图片类型的文件: ``` <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/" :headers="{'Authorization': 'Bearer ' + token}" :accept="'image/*'" :on-success="handleSuccess" :on-error="handleError"> <el-button size="small" type="primary">Click to Upload</el-button> <div slot="tip" class="el-upload__tip">jpg/png files with a size less than 2MB</div> </el-upload> ``` 如果上传的文件类型不符合限制,el-upload组件默认会自动删除该文件并提示用户上传的文件类型不符合要求。如果需要自定义提示信息,可以通过设置before-upload钩子函数来实现: ``` <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/" :headers="{'Authorization': 'Bearer ' + token}" :accept="'image/*'" :before-upload="beforeUpload" :on-success="handleSuccess" :on-error="handleError"> <el-button size="small" type="primary">Click to Upload</el-button> <div slot="tip" class="el-upload__tip">jpg/png files with a size less than 2MB</div> </el-upload> ... methods: { beforeUpload(file) { const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png'; if (!isJpgOrPng) { this.$message.error('上传的文件类型不符合要求,请上传jpg/png类型的文件'); return false; } const isLt2M = file.size / 1024 / 1024 < 2; if (!isLt2M) { this.$message.error('上传的文件大小不能超过2MB'); return false; } return true; } } ``` 在before-upload钩子函数中,可以判断文件类型和文件大小是否符合要求,如果不符合,可以自定义提示信息并返回false取消上传。如果符合要求,返回true继续上传
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值