element-ui 上传组件 自定义上传没有进度条解决方法

Upload 上传组件 自定义上传

使用http-request属性 覆盖默认的上传行为,会向自己定义的方法传入一个当前上传实例,
要显示进度条就需要手动调用onProgress(e)方法

{
    action:""
    data:undefined
    file:File
    filename:"file"
    headers:Object
    onError:onError(err)
    onProgress:onProgress(e)
    onSuccess:onSuccess(res)
    withCredentials:false
}

实现进度条代码(这里贴出axios的代码)

let form = new FormData();  
//uploader为之前提到的实例
form.append("file", uploader.file);
axios .post(url,form, {
          headers: {
            "Content-Type": "multipart/form-data"
          },
          onUploadProgress: progressEvent => {
            let percent=(progressEvent.loaded / progressEvent.total * 100) | 0
            //调用onProgress方法来显示进度条,需要传递个对象 percent为进度值
            uploader.onProgress({percent:percent})
          }
        }).then((res)=>{
            //上传成功 调用onSuccess方法,否则没有完成图标
            //处理自己的逻辑
          uploader.onSuccess()
        }).catch((err)=>{
            //上传失败 调用onError方法
            //处理自己的逻辑
            uploader.onError()
        })

转载于:https://www.cnblogs.com/xinghan/p/10554726.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值