在 Sencha 2 中禁用存储加载掩码

Posted

技术标签:

【中文标题】在 Sencha 2 中禁用存储加载掩码【英文标题】:Disable store load mask in Sencha 2 【发布时间】:2012-09-14 09:25:47 【问题描述】:

Sencha 商店在填充商店时会自动添加一个 ajax 加载程序掩码,但我想隐藏它,因为我制作了一个更通用的掩码,每次应用程序执行 ajax 请求时都会显示该掩码。

如何隐藏商店加载掩码?试图查看文档,但没有找到任何合适的字段/方法:

见附件:

【问题讨论】:

【参考方案1】:

属性存在:loadingText,您已将其设置为 null。


    xtype: 'list',
    store: 'Store',
    loadingText: null, // for ST 2.3.0 set it to false
    ....

干杯,奥列格

【讨论】:

不适用于 ST 2.3.0。但将其设置为 false 而不是 null 确实有效。【参考方案2】:

Olegtaranenko:您的解决方案确实删除了加载掩码,但设置了 loadingText to 'null' 似乎也破坏了“PullToRefresh”插件 列表的功能。

“break”是指下拉箭头刷新后, ui 保持这种状态,并且不隐藏 PullToRefresh 部分 在顶部。

有没有办法隐藏额外的负载掩码,同时保留 拉动刷新的能力?

对于将来正在阅读本文并试图实现上述目标的任何人,我通过更改原始 Sencha touch 1.1.1 代码(sencha-touch-debug-with 的第 45346 行)解决了 PullToRefresh 的问题-cmets.js)。这并不理想,但提供了一种快速的解决方法。

原始(PullToRefresh 中断)

onBeforeLoad: function() 
        if (this.isLoading && this.list.store.getCount() > 0) 
            this.list.loadMask.disable();
            return false;
        
    ,

解决方法

onBeforeLoad: function() 
        if (this.isLoading && this.list.store.getCount() > 0) 
            try this.list.loadMask.disable(); 
            catch(err)   
            return false;
        
    ,

【讨论】:

hmm... 它不会破坏 PullRefresh 插件,至少在 ST 2.0 中是这样。我在其他地方使用这个技巧(拉刷新),从来没有发现任何问题。可能是 ST 1.1 有怪癖,不知道【参考方案3】:

只需添加您的视图

viewConfig: 
    loadMask: false

【讨论】:

以上是关于在 Sencha 2 中禁用存储加载掩码的主要内容,如果未能解决你的问题,请参考以下文章

禁用 Sencha 脚本加载器缓存破坏,但仅在开发/调试时

iphone上禁用wifi时,Phonegap Sencha应用谷歌地图API未加载

禁用 Go 按钮提交表单(Sencha Touch 2、Cordova、Android)

如何使用 Sencha Touch 2 获取表单面板和禁用选择字段

Sencha Touch:嵌套列表滚动到顶部,我该如何禁用它?

如何在 Sencha Touch 应用程序中禁用增量更新?