【问题标题】:Disable store load mask in Sencha 2在 Sencha 2 中禁用存储加载掩码
【发布时间】:2024-04-25 12:25:02
【问题描述】:

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

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

见附件:

【问题讨论】:

    标签: sencha-touch-2


    【解决方案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
    }
    

    【讨论】:

      最近更新 更多