簡體   English   中英

Extjs4,動態存儲過濾器

[英]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 我假設您想做的是接受數組中存在類別的所有記錄(即,您打算使用||而不是&& )。

您可以使用ArrayindexOf方法。

例:

myStore.filterBy(function(record) {
    return allChildNodeIDs.indexOf(record.get('idCategorie')) !== -1;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM