在extjs3.4中,当文件多大,上传持续时间久的时候,必须给用户友好的进度条提示,虽然 waitMsg : '正在处理中...',也能出现进度条,但是,它会来回的滚动,所以,解决办法是用 Ext.MessageBox.show来提示:
buttons : [{
text : '上传',
handler : function() {
if (!formPanel.getForm().isValid()) {
Ext.Msg.alert("提示", "请选择上传文件");
return;
}
Ext.MessageBox.show(
{
title:'请稍候',
msg:'保存数据中......',
progressText:'', //进度条文本
width:300,
progress:true,
closable:false
}
);
//控制进度条速度
var f=function(v){
return function(){
if(v==12)
{
Ext.MessageBox.hide();
}
else
{
var i=v/11;
Ext.MessageBox.updateProgress(i,Math.round(100*i)+"% 完成");
}
}
}
for(var i=1;i<13;i++)
{
setTimeout(f(i),i*500);//从点击时就开始计时,所以500*i表示每500ms就执行一次
}
formPanel.form.submit({
//waitMsg : '正在处理中...',
这样就可以控制按照百分比去显示进度了.
后续有很多开发填坑的文章发布,如果对你有帮助,请支持和加关注一下
http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944
https://shop119727980.taobao.com/?spm=0.0.0.0