Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Extjs存储过滤器不使用';行不通_Javascript_Extjs_Filter_Store - Fatal编程技术网

Javascript Extjs存储过滤器不使用';行不通

Javascript Extjs存储过滤器不使用';行不通,javascript,extjs,filter,store,Javascript,Extjs,Filter,Store,我想筛选我的店铺,但它不起作用: me.store.filter([{ filterFn: function(storeItem) { Ext.iterate(storeItem.data, function(item) { if (item === me.mainMenuItem) { if (typeof(storeItem.data[item]) === 'number') {

我想筛选我的店铺,但它不起作用:

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;
                }
            }
        });
    }
}]);

当我使用这个过滤器时,我的存储是空的,即使只有很少的元素填满了我的条件。如何使其工作?

过滤器fn希望您返回一个布尔值,指示该值是否匹配。目前,您没有从
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;
    }
}]);