假设我有一个包含以下模型结构的商店:
Ext.define('MyApp.model.FavoriteScreen', {
extend: 'Ext.data.Model',
config: {
fields: [
{
name: 'Id',
type: 'int'
},
{
name: 'Key1'
},
{
name: 'Key2'
},
{
name: 'Key3'
},
{
name: 'Key4'
}
]
}
});
现在根据key1从商店中找到值,我写了以下代码行:
var favoritStore = Ext.data.StoreManager.lookup('FavoriteStore'),
index = favoritStore.find('Key1',key_value),
filterValue = index != -1 ? favoritStore.getAt(index) : null;
工作正常。但我希望在两个键的基础上从商店获得价值(即key1& key2) 但我不知道如何做到这一点。请给我适当的解决方案。
答案 0 :(得分:2)
你可以尝试这段代码......
var filterValue = null;
favoritStore.each(function(record){
if(record.get('Key1') == 'yourValue1' && record.get('Key2') == 'yourValue2') {
filterValue = record;
}
});
答案 1 :(得分:0)
如果您使用商店的过滤功能,您可以按多个键过滤,然后使用.each()
遍历过滤的商店store.filter([
{property: "key1", value: "value1"},
{property: "key2", value: "value2"}
]);
在文档中查看: http://docs.sencha.com/touch/2.3.0/#!/api/Ext.data.Store-method-filter