ExtJs 4 FormPanel进度条(Wait mask)灰色蒙版不能正常隐藏的BUG

首先必须知道例外两个方法 Ext.MessageBox.hide()和Ext.MessageBox.updateProgress(value,"ProgressText","msg")(三个参数,看名字就知道意思),
   注意value为0-1之间的数,表示进度条的进度.
第一种:(通过进度的大小控制进度,满进度为1)

代码

 代码如下 复制代码
function Read4() {
var progressBar=Ext.Msg.show({
title:"标题",
msg:"通过进度的大小来控制进度",
progress:true,
width:300
});
var count=0;
var bartext="";
var curnum=0;
Ext.TaskMgr.start({
run:function () {
count++;
if (count>=10) {
progressBar.hide();
}
curnum=count/10;
bartext=curnum*100+"%";
progressBar.updateProgress(curnum,bartext);
},
interval:1000
})
}

第二种:(通过固定时间控制进度加载)

代码

代码

 代码如下 复制代码
function Read5() {
var progressBar=Ext.Msg.show({
title:"标题",
msg:"通过固定时间完成进度",
width:300,
wait:true,
waitConfig:{interval:500,duration:5000,fn:function () {
Ext.Msg.hide();
}},
closable:true
});
 // setTimeout(function () {
 // Ext.Msg.hide();
 // },5000);
  }

 

动态更新进度信息

上面看上去很好但在实例应用中我发现,等待进度条(Wait mask)灰色蒙版不能正常隐藏的BUG,下面我修改了一下实例

 代码如下 复制代码

Ext.define('Ext.form.SubmitFix', {
    override: 'Ext.ZIndexManager',
 
    register : function(comp) {
        var me = this,
            compAfterHide = comp.afterHide;
      
        if (comp.zIndexManager) {
            comp.zIndexManager.unregister(comp);
        }
        comp.zIndexManager = me;
 
        me.list[comp.id] = comp;
        me.zIndexStack.push(comp);
      
        // Hook into Component's afterHide processing
        comp.afterHide = function() {
            compAfterHide.apply(comp, arguments);
            me.onComponentHide(comp);
        };
    },
 
    /**
    * Unregisters a {@link Ext.Component} from this ZIndexManager. This should not
    * need to be called. Components are automatically unregistered upon destruction.
    * See {@link #register}.
    * @param {Ext.Component} comp The Component to unregister.
    */
    unregister : function(comp) {
        var me = this,
            list = me.list;
      
        delete comp.zIndexManager;
        if (list && list[comp.id]) {
            delete list[comp.id];
          
            // Relinquish control of Component's afterHide processing
            delete comp.afterHide;
            Ext.Array.remove(me.zIndexStack, comp);
 
            // Destruction requires that the topmost visible floater be activated. Same as hiding.
            me._activateLast();
        }
    }
});

该BUG会在4.1.2版本中修正,提前修正的方法为将下面的补丁代码加入项目中:

 

时间: 2024-08-04 01:00:42

ExtJs 4 FormPanel进度条(Wait mask)灰色蒙版不能正常隐藏的BUG的相关文章

实用ExtJS教程100例-003:进度条对话框Ext.MessageBox.progress

在上一篇内容中我们介绍了三种常用的MessageBox提示框,在这篇文章中,我们将演示如何在对话框中使用进度条. 进度条对话框 我们可以使用下面的代码来在MessageBox中显示一个进度条: Ext.get("btn4").on("click", function () { Ext.MessageBox.progress("进度", "正在处理,请稍候...", "0%"); }); 在上面的代码中,我们

Extjs实现进度条的两种便捷方式_extjs

做Extjs开发中,往往后台程序可能要执行一段时间才能得到返回结果,加入进度条可以提高客户体验度,以下为两种便捷的方式: 1.提交数据前用Ext.Msg.wait('提示','正在处理数据,请稍候');弹出等待条,数据处理成功后用Ext.Msg.hide();将等待去掉,例如: Ext.Msg.wait('提示','正在处理数据,请稍候'); 复制代码 代码如下: Ext.Ajax.request({ url:'DataAction.ashx?method=update', params:{It

解决html5中canvas绘制圆环进度条出现模糊效果方案

问题 近期用canvas绘制了圆环进度条,但是进度条出现周围模糊的现象,针对这种现象,网上搜了搜,有人提问,但是貌似没有很好的解决方案,针对这种情况,提出几种解决方案,仅供参考! 模糊效果如下: 解决方案 针对这种情况,我提出几种解决思路. 一.运用hidpi-canvas-polyfill 的js进行解决 HiDPI Canvas Polyfill 是针对设备提出的canvas高清解决方案,首先引入hidpi-canvas.js. 这个js会自动识别你的canvas,会把你的canvas变小,

Ajax基础教程(4)- 实现基本Ajax技术 4.5 显示进度条

无一例外地,几乎每个应用都会时不时地调用一个长时间运行的事务.如果你关心系统的可用性,就要确保用户能很容易地看到系统的状态.如果是一个胖客户应用,对于长时间运行事务的问题,解决办法很简单:只需显示一个进度条,以便用户知道目前所处状况.不过,在Ajax之前,要在Web应用中做到这一点很不容易.本节将使你了解如何使用Ajax为Web应用建立进度条. 在代码清单4-9所示的例子中,再次在pollCallback()方法中使用了setTimeout(),从而每隔2秒调用一次服务器.在processRes

extjs-ExtJs如何用progresscolumn组件实现在grid的中列中嵌入进度条

问题描述 ExtJs如何用progresscolumn组件实现在grid的中列中嵌入进度条 请问各位大神,ExtJs如何用progresscolumn组件实现在grid的中列中嵌入进度条呢?由于是新手,我现在怎么搞都搞不出来 ,请问我帮帮忙,项目急需!!!像这样: 解决方案 配置renderer返回div设置width就好了吧,不需要第三方插件 renderer:function(value, metaData, record, rowIndex, colIndex, store){//v为计算

ext.net c#-Ext.Net1.7 后台操作页面超时 并 实现进度条的问题

问题描述 Ext.Net1.7 后台操作页面超时 并 实现进度条的问题 需要达到如图样式 protected void Page_Load(object sender EventArgs e) { } private static string TableName; //要修改的表名 [DirectMethod(Timeout = 900000)] protected void btnOK_DirectClick(object sender Ext.Net.DirectEventArgs e)

iOS之小功能模块--彩虹动画进度条学习和自主封装改进

前言: 首先展示一下这个iOS小示例的彩色进度条动画效果: 阅读本文先说说好处:对于基础不好的读者,可以直接阅读文末尾的"如何使用彩虹动画进度条"章节,然后将我封装好的这个功能模块类用到你的工程项目中即可. 这个效果的示例是老外Nick Jensen在2013年写的一个作品:使用CAGradientLayer的动画进度条View. 本人阅读了老外的源码之后,觉得老外这个进度条的效果很不错,但是觉得他写的代码有待改进. 小贴士:读者可以直接将老外的源码下载下来,跑一下,然后对比本人写的博

【IOS-COCOS2D游戏开发之十五】详解CCPROGRESSTIMER 进度条并修改COCOS2D源码实现“理想”游戏进度条!

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/491.html 游戏开发中难免用到进度条,例如做一些游戏技能的CD时间等都会使用到:那么cocos2d当然也封装了进度条,但是不太理想,如果童鞋们用过就应该知道,那么今天介绍两个知识点,第一:介绍cocos2d中的进度条CCProgressTimer如何使用:第二点:修改cocos2d封装的CCProgressT

改善用户体验,用图片的自身变化以及进度通知摆脱传统的进度条,okhttp,Canvas,Paint实现

转载请注明出处:王亟亟的大牛之路 从最开始的白页面等待,到后来的进度条告知用户,到现在的WebBO/微信这种先下缩略图点击才重新下大图的方式,我们开发者对用户感知的注意度越来越高,昨天刷微博的时候看到他们是用一个灰色转圈圈的实现,所以就萌生的今天要做的内容的启发(我是在不知道给这种实现取什么名字,就写了一大堆,感觉在哪见过类似的但是,忘了出自于哪了) 先上下效果: GIF软件继续把我的效果给吃了..大家可以自己跑一下,看效果. HOW to do? 1.我们的图片来自于网络,如果是本地,也不需要