2.5.6版本中uploads组件的progress方法存在BUG(已解决)

建议 未结 1 200
kely
kely 2020-2-20
悬赏:20飞吻
初来乍到,不太清楚在哪提Issue,如果发错地方希望各位能告知一下。

复现方法:在2.5.6版本中使用upload组件时带上progress函数即可。(如下图)

报错及其位置:(为了更好指出位置我使用了未压缩版本)

upload.js中第223行起的if语句中
        if(typeof options.progress === 'function'){
opts.xhr = function(){
var xhr = $.ajaxSettings.xhr();
//监听上传进度
xhr.upload.addEventListener("progress", function (e) {
if(e.lengthComputable) {
var percent = Math.floor((e.loaded/e.total)* 100); //百分比
options.progress(percent, options.item[0], e);//←这一行
}
});
return xhr;
}
}
第230行(上文的倒数第6行)
  options.progress(percent, options.item[0], e);
错误原因及解决办法:
此处的options.item[0]并不存在,根据上下文分析,应当替换为 options.elem[0]。
使用压缩版的伙伴们只需要在文件中搜索 item[0] 将其替换为 elem[0] 即可。
(全加载和模块化都是这样改,只会搜索到一个item[0])

如有误,还望各位指出。
回帖