コンテナにリスト(アイテムを含む)を動的に追加しようとしています。単純なHTMLテンプレートの代わりに、タイトルバー、画像、その他いくつかのものを含むパネルを含むリストアイテムが必要です。
これを行うために、ストアデータをロードし、そのコールバック内でアイテムのリストと配列を作成しています。次に、アイテムをリストに追加し、リストをコンテナーに追加しますが、最終結果は、すべてのパネルのスライドリストではなく、最後のパネルだけが表示されます。
これが私のコードです:
var vLists = [];
this.load({
callback: function(records, operation, success) {
var hccontainer = Ext.getCmp('hccontainer');
this.each(function(record){
var sid = 'styleStore'+record.get('id');
var styleTemplate = eval('tpls.styleTemplate_' + record.get('id'));
vLists.push({
xtype: 'panel',
scrollable: 'false',
layout: 'fit',
cid : record.get('id'),
ctype : record.get('type'),
cname : record.get('name'),
stid : sid,
tp : styleTemplate,
items: [
{
xtype : 'titlebar',
title : record.get('name'),
docked : 'top',
cls : 'x-toolbar-transparent-top'
},
{
xtype : 'image',
src : record.get('image'),
}
]
});
});
//hccontainer.remove(Ext.getCmp('hc'), true);
Ext.getCmp('hc').destroy();
var hc1 = Ext.create('Ext.dataview.List', {
layout : 'fit',
config: {
direction: 'horizontal',
id : 'hc'
}
});
hc1.setItems(vLists);
Ext.getCmp('hccontainer').add(hc1);
},
scope: this
});
これはアイテムを追加する正しい方法ですか、それとも何かが足りません。
PSカルーセルを使用する場合、リストの代わりにこれは正常に機能します