2012-03-16 85 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}); 
     } 
    } 
}); 

小心来电:每次您的商店(这可能听起来很可笑)添加一个项目,但我认为这是让您的面板“连接”到商店的唯一方法。

相关问题