我想过滤我的商店,但它不起作用:
me.store.filter([{
filterFn: function(storeItem) {
Ext.iterate(storeItem.data, function(item) {
if (item === me.mainMenuItem) {
if (typeof(storeItem.data[item]) === 'number') {
//console.log(storeItem); returns what I want
return storeItem;
}
}
});
}
}]);
当我使用这个过滤器时,即使很少的元素满足我的条件,我的商店也是空的。我怎样才能使它发挥作用?
答案 0 :(得分:1)
filterFn
要求您返回一个布尔值,指示值是否匹配。目前,您还没有从filterFn
返回任何内容,而是在内部迭代函数上返回一个值,这在此处并不常用。
你想做这样的事情:
me.store.filter([{
filterFn: function(rec) {
var data = rec.data,
key;
for (key in data) {
if (key === me.mainMenuItem && typeof data[key] === 'number') {
return true;
}
}
return false;
}
}]);