Extjs4中combobox控件-数据加载出来,但一直在loading.

Extjs4中combobox控件---数据加载出来,但一直在loading....

      今天在做combo级联的时候碰到这个问题,很令人头疼,反复检查代码,并没发现有什么问题;而且更令人诧异的是,在我同事的机器上运行却是好好地,而且他用的ie版本跟我的版本一样,那这是什么问题呢?不得而解、、、、、、、

      但问题总是得去解决的,但是怎么解决呢?

      首先,我知道我要解决的问题是将LoadMask这个东东去掉就行了。于是去查API,看combo里面有没有关于loadMask这个属性或者方法,很遗憾没有。

      但是怎么可能呢,于是一个属性一个属性去看,看到defaultListConfig这个属性,英文解释是:Set of options that will be used as defaults for the user-configured listConfig object.大概意思是说:一组选项将会被用作用户配置的listConfig对象的默认值。

      点击listConfig进入该属性API,An optional set of configuration properties that will be passed to the Ext.view.BoundList's constructor. 大概是说:一组可选的属性配置将会传递到Ext.view.BoundList的

构造函数中去。在下面我看到这样一段代码Ext.view.BoundList.loadingText - defaults to 'Loading...',

这不正是加载文本吗?

   为了获得更多的信息我进入Ext.view.BoundList里查看,An internal used DataView for ComboBox.

大概是说:BoundList是combo的一个内部使用的数据视图。查看它的属性列表,哈哈,找到了loadMask,这不正是

我所要的东西吗

loadMask : Boolean/Object

False to disable a load mask from displaying will the view is loading.

This can also be a Ext.LoadMaskconfiguration object. Defaults to true.

    在我的combo控件里面加上如下一段代码:

       defaultListConfig:{
             loadMask: false
       }

问题解决了,LoadMask没了。


//------------------------------------------------------------------------------------------------------------------------


数据已经加载完了 但依然一直loading中。。。

原本以为是ajax请求除了问题,于是写了个grid的ajax测试,却非常正常。遂经过查阅API,看示例,发现了mask这个东西。
Ext combox有一个默认渲染配置:

?
1
2
3
4
5
6
7
8
9
10
//....................................
defaultListConfig: {
         emptyText: '' ,
         loadingText: 'Loading...' ,
         loadingHeight: 70,
         minWidth: 70,
         maxHeight: 300,
         shadow: 'sides'
}
//....................................

其中有loadingText: ‘Loading…’,这一个配置项,这个就是loadMask。
在这段默认配置中仅有显示,没有隐藏的设置。所以导致显示出来后一直不消失。需要手动设置不让其显示或者数据加载完成后隐藏掉它。

通过查阅资料,有两种可行方法:

一、覆盖默认配置,设置loadMask为不显示。

?
1
2
3
4
5
//....................................................
listConfig: {
     loadMask: false
}
//....................................................

二、在数据加载完成后执行unmask使其隐藏:

?
1
2
3
4
//.............................................
 
combox.getEl().unmask();
//.............................................

转载请注明出处!

This entry was posted in Extjs. Bookmark the permalink.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值