2017-06-16 13 views
0

は私が私の店をフィルタリングしたい動作しませんが、それは動作しません:私はこのフィルタを使用すると私の店はいくつかの要素が私の条件を気力場合でも空であるExtJSのストアフィルタは

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

。どうすればそれを動作させることができますか?

答えて

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

ありがとうございました!できます! –