3

当您Ext.dataview.List在 Sencha 中使用时,它会在数据加载时自动插入一个漂亮的加载微调器。这一切都很好而且很花哨,但我想知道如何使用自定义加载器.gif

我环顾四周,认为我需要更改负载掩码,但不是积极的,因为我是新手。请参阅此链接

下面是我的列表之一的代码。我希望能够将建议的代码添加到一个地方,以便所有列表都受到影响并拥有新的微调器。

    {
        xtype: 'list',
        height: '',
        id: 'categoryList',
        itemId: '',
        width: '100%',
        scrollable: false,
        emptyText: '<div class="pdtsListHtml" style="margin-top:30%">Product List Empty</div>',
        itemTpl: [
          '<div ><div class="pdtsListHtml" style="display:inline;">{navigationElementItemName}&nbsp;({navigationElementItemRecordCounts})</div><div style="display:inline;float:right;margin-right:5px;"><img src="resources/image/arrow.png" width="11" height="11"></div></div>'
        ],
        store: 'productListStore',
        allowDeselect: true,
        onItemDisclosure: false
      }
4

1 回答 1

3

这是一个小提琴,它向您展示了一个带有使用 gif 的加载掩码的示例列表。

基本上你应该定义你自己的Ext.LoadMask子类并在列表中使用它:

Ext.define("Test.MyLoadMask", {
    extend: "Ext.LoadMask",
    alias: "widget.myloadmask",
    getTemplate: function() {
        var prefix = Ext.baseCSSPrefix;

        return [
            {
                reference: 'innerElement',
                cls: prefix + 'mask-inner',
                children: [
                    {
                        reference: 'indicatorElement',
                        cls: prefix + 'loading-spinner-outer',
                        children: [
                            { tag: 'img', src: "http://example.com/my-spinner.gif" }
                        ]
                    },
                    {
                        reference: 'messageElement'
                    }
                ]
            }
        ];
    }
});

然后你应该applyMasked在你的列表中定义一个来修改xtype并将其设置为myloadmask而不是loadmask

于 2012-12-19T14:00:37.593 回答