我正在尝试开发一个自定义组件,就像我的模型中显示的那样。我在网上找到了一个示例组件(可能在 Sencha 的文档中),现在我正在尝试根据我的目的对其进行调整。我有两个问题:
- 这是正确的方法吗?
- 如何从我的 AlertStore 动态驱动我的数据。该示例是带有 data: [] 值的硬编码。这不能绑定到商店吗?
我需要的是一个可滚动的列表视图,但具有不同类型的视图。有点像 Apple iPhone Messages 应用程序中的气球。
我在互联网上找到的示例代码,我正在适应:
Ext.define("Sencha.view.ComponentView", {
extend: 'Ext.Component',
xtype: 'custom-component',
config: {
xtype: 'container',
scrollable: true,
layout: {type: 'vbox', pack: 'start', align: 'stretch'},
cls: ['view1'],
data: {
items: [
{name: 'Congestion near tunnel', n: 100},
{name: 'Car fore near exit 10', n: 21},
{name: 'Broken down vehicle in tunnel', n: 24},
{name: 'Slow traffic next 20 miles', n: 24},
{name: 'Drive carefully', n: 26}
]
},
store: 'AlertStore',
tpl: new Ext.XTemplate(
'<tpl for="items">',
'{% if(xindex % this.getPerRow() == 1) {%}',
'<div class="view-container">',
'{% } %}',
'<div class="alert-row">',
'<div class="name">{[xindex]} - {name}</div>',
'</div>',
'{% if(xindex % this.getPerRow() == 0 || xindex == xcount){ %}',
'</div>',
'{% } %}',
'</tpl>',
{
getPerRow: function () {
return 2;
}
})
},
initialize: function () {
this.callParent(arguments);
}
});