2012-03-16 96 views
0

我有一個卡片佈局的視圖(Panel)。我有一個Store,比如n項。我想創建一堆n卡,每個卡都由Store中的一個項目支持。我怎麼能做到這一點,而不需要在for循環中手動添加n卡片,迭代Store中的項目?我可以用商店支持Sencha Touch Card佈局嗎?

任何幫助表示讚賞,謝謝。

-tjw

+0

你不想使用'for'循環的任何特定原因? – dkamins 2012-03-16 04:06:16

+0

當我已經擁有包含我需要的所有東西的'Store'時,我需要維護一個單獨的列表。我希望能夠過濾商店,以便在堆疊中只有特定的卡片。使用「Store」似乎更加優雅和習慣。 – 2012-03-16 04:09:01

+0

這樣做會有一點點工作。您將需要創建一個新的自定義組件來處理它。值得慶幸的是,ST 2.x中的Ext.data.Store組件具有重大事件,因此它應該只是聆聽這些事件並在必要時替換現有組件。雖然這將很難優化。 – rdougan 2012-03-16 23:09:27

回答

0

你需要一個單獨的列表,包含所有你的卡,你不能用一個商店(至少在目前的版本煎茶觸摸的)連接的卡板的名單。

你無法避免手動添加,但你能避免循環:

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}); 
     } 
    } 
}); 

小心來電:每次您的商店(這可能聽起來很可笑)添加一個項目,但我認爲這是讓您的面板「連接」到商店的唯一方法。