在Sencha中使用Ext.dataview.List
时,它会在加载数据时自动插入一个不错的加载微调器。这一切都很好,花花公子,但我想知道如何使用自定义加载器.gif
。
我环顾四周,认为我需要更改loadmask但不是正面因为我是新手。请参阅this link。
以下是我的一个列表的代码。我希望能够将建议的代码添加到一个地方,以便所有列表都受到影响并拥有新的微调器。
{
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} ({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
}
答案 0 :(得分:3)
这里有一个fiddle,它会显示一个带有使用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
。