我有以下商店:
Ext.define('Sencha.model.MenuPoint', {
extend: 'Ext.data.Model',
config: {
fields: [
{name: 'id', type: 'string'},
// this is id of the element, example child id, report id, and so fourth
//{name: 'elementId', type: 'int'},
{name: 'name', type: 'string'},
{name: 'icon_url', type: 'string'},
{name: 'xtype', type: 'string'}
]
}
});
我设法插入并检索这样的值:
var keyValue = new Object();
keyValue.key = "adultId";
keyValue.value = adultObj.adultId;
console.log("keyValue: "+keyValue);
var sessionStore = Ext.getStore('MySessionStore');
sessionStore.add(keyValue);
sessionStore.sync();
var index = sessionStore.find('key',keyValue.key);
console.log("index: "+index);
var keyValue2 = sessionStore.getAt(index);
console.log("keyValue2: "+keyValue2);
但是首先获取索引,然后获取值,这样做很麻烦,是不是可以做这样的事情:
var value = store.get(key);
?
答案 0 :(得分:6)
你可以使用功能
var record = store.findRecord('id', key)
是
的捷径index = store.find('id', key);
record = index != -1 ? store.getAt(index) : null;
干杯,奥列格
答案 1 :(得分:0)
使用
store.findRecord('id', key, 0, false, true, true);
默认情况下,findRecord搜索使用regexp。您应该传递所有6个参数以获得===
或者如果你发现" id"试试store.getById(key)
请参阅fiddle