2017-06-16 63 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; 
       } 
      } 
     }); 
    } 
}]); 

當我使用此過濾器我的商店是空的,即使幾個要素fullfill我的條件。我怎樣才能使它工作?

回答

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

謝謝!有用! –