0
我有一個卡片佈局的視圖(Panel
)。我有一個Store
,比如n
項。我想創建一堆n
卡,每個卡都由Store
中的一個項目支持。我怎麼能做到這一點,而不需要在for
循環中手動添加n
卡片,迭代Store
中的項目?我可以用商店支持Sencha Touch Card佈局嗎?
任何幫助表示讚賞,謝謝。
-tjw
我有一個卡片佈局的視圖(Panel
)。我有一個Store
,比如n
項。我想創建一堆n
卡,每個卡都由Store
中的一個項目支持。我怎麼能做到這一點,而不需要在for
循環中手動添加n
卡片,迭代Store
中的項目?我可以用商店支持Sencha Touch Card佈局嗎?
任何幫助表示讚賞,謝謝。
-tjw
你需要一個單獨的列表,包含所有你的卡,你不能用一個商店(至少在目前的版本煎茶觸摸的)連接的卡板的名單。
你無法避免手動添加,但你能避免循環:
Ext.regModel('someModel', {
fields: [
{name: 'title', type: 'string' },
{name: 'info', type: 'string' }
]
});
var someStore = new Ext.data.Store({
model: "someModel",
listeners:{
add:function(store, list, index){
//here list is list of records you added
var item = list[0];
panelinstance.insert(index, {...whatever component...panel,list,carousal whatever});
}
}
});
小心來電:每次您的商店(這可能聽起來很可笑)添加一個項目,但我認爲這是讓您的面板「連接」到商店的唯一方法。
你不想使用'for'循環的任何特定原因? – dkamins 2012-03-16 04:06:16
當我已經擁有包含我需要的所有東西的'Store'時,我需要維護一個單獨的列表。我希望能夠過濾商店,以便在堆疊中只有特定的卡片。使用「Store」似乎更加優雅和習慣。 – 2012-03-16 04:09:01
這樣做會有一點點工作。您將需要創建一個新的自定義組件來處理它。值得慶幸的是,ST 2.x中的Ext.data.Store組件具有重大事件,因此它應該只是聆聽這些事件並在必要時替換現有組件。雖然這將很難優化。 – rdougan 2012-03-16 23:09:27