[英]Extjs4, filter store dynamically
我使用ID列表動態填充數組:
var allChildNodeIDs = [];
Ext.getCmp('categoriesTreePanel').getRootNode().eachChild(function(Mynode){
allChildNodeIDs.push(Mynode.data.idCategorie);
});
然后,我想根據數組中包含的所有ID篩選存儲。 例如,如果數組包含兩個值,我希望我的存儲將像這樣進行過濾:
myStore.filterBy(function(record) {
return (record.get('idCategorie') == allChildNodeIDs [1] && record.get('idCategorie') == allChildNodeIDs [2]);
});
但是數組是動態填充的,我不知道他的長度!
在您的示例中,排序函數似乎總是返回false
。 我假設您想做的是接受數組中存在類別的所有記錄(即,您打算使用||
而不是&&
)。
您可以使用Array
的indexOf
方法。
例:
myStore.filterBy(function(record) {
return allChildNodeIDs.indexOf(record.get('idCategorie')) !== -1;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.