如何手动设置模型' 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
一样?
因为无论风格或事件如何,它们都不相同。
答案 0 :(得分:0)
如果您设置idProperty并且您没有创建自己的如何使用它的实现,Sencha可能会使用uuids。但是当你添加自己的时候,我不确定是否应该支持它。将它留给Sencha,为idProperty键添加值。
要从商店中抓取第一件商品,只需使用
即可var firstItem Ext.getStore('myStore').first(),
data = firstItem.getData();
或者如果你将商店添加到列表中,只将其过滤到第一个项目......那么多方法:)
要了解有关列表项的更多信息,请参阅documentation。如果您需要将listitem设置为另一个xtype,您可以设置
defaultType: 'newXtypeToUse'
通常这将是'simplelistitem'或'listitem'