手动触摸设置idProperty无法同步

时间:2014-10-30 03:32:19

标签: extjs sencha-touch sencha-touch-2

如何手动设置模型' idProperty? 例如:
假设idProperty的{​​{1}}为model 有一条记录:
这是我的id

Model

这是我的Ext.define('MyApp.model.DataModel', { extend: 'Ext.data.Model', config: { idProperty:'myId', fields: [ { name: 'myId', type: 'auto' }, { name: 'number', type: 'int' } ] } });

Store

使用上面的代码,当我添加一条记录时:

Ext.define('MyApp.store.DataStore', {
 extend: 'Ext.data.Store',
    config: {
      model: 'MyApp.model.DataModel',
      autoLoad: true,

      proxy: {
          type: 'localstorage',
          id: 'datastore'
       }
  }
});

如何设置此错误?因为我在2012年的var store = Ext.getStore("DataStore"); var code = { myId: 1, number: 233 } store.add(code);// The record added to the store.data, when I saw it in the developer tools store.sync(); // yes, there is no error, but also without any change to this store Bug source中看到了本地存储中的错误,所以我认为现在会修复它。

---

还有一个问题是:
列表的内容取决于它使用的Sencha Forum 我使用了一个列表store,其代码为:

DataStore

如何设置此xtype(现在它Ext.define('MyApp.view.SlideView', { extend: 'Ext.List', xtype: 'slideview', config: { itemTpl: Utils.Config.Templates, store: 'DataStore', layout: { type: 'fit', pack: 'right' }, disableSelection: true, items: [ { xtype: 'listitem', items: { xtype:'panel', tpl: Utils.Config.Templates, data: Utils.Config.Templates.data, }, minHeight: 60 } ] } }); )与listitem记录引入的其他items一样? 因为无论风格或事件如何,它们都不相同。

1 个答案:

答案 0 :(得分:0)

如果您设置idProperty并且您没有创建自己的如何使用它的实现,Sencha可能会使用uuids。但是当你添加自己的时候,我不确定是否应该支持它。将它留给Sencha,为idProperty键添加值。

要从商店中抓取第一件商品,只需使用

即可
var firstItem Ext.getStore('myStore').first(),
    data = firstItem.getData();

或者如果你将商店添加到列表中,只将其过滤到第一个项目......那么多方法:)

要了解有关列表项的更多信息,请参阅documentation。如果您需要将listitem设置为另一个xtype,您可以设置

defaultType: 'newXtypeToUse'

通常这将是'simplelistitem'或'listitem'