Extjs 商店过滤器不起作用
Extjs store filter doesn't work
我想过滤我的商店,但它不起作用:
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;
}
}
});
}
}]);
当我使用这个过滤器时,我的商店是空的,即使很少有元素满足我的条件。我怎样才能让它发挥作用?
filterFn
期望您 return 一个布尔值,指示该值是否匹配。目前,您没有 return 从 filterFn
获取任何内容,您 return 获取内部迭代函数的一个值,这在这里并不是很有用。
您想做这样的事情:
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;
}
}]);
我想过滤我的商店,但它不起作用:
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;
}
}
});
}
}]);
当我使用这个过滤器时,我的商店是空的,即使很少有元素满足我的条件。我怎样才能让它发挥作用?
filterFn
期望您 return 一个布尔值,指示该值是否匹配。目前,您没有 return 从 filterFn
获取任何内容,您 return 获取内部迭代函数的一个值,这在这里并不是很有用。
您想做这样的事情:
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;
}
}]);