【问题标题】:Extjs4, filter store dynamicallyExtjs4,动态过滤存储
【发布时间】:2013-06-07 06:38:40
【问题描述】:

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

但是数组是动态填充的,不知道他的长度!

【问题讨论】:

    标签: extjs filter store


    【解决方案1】:

    您示例中的排序函数似乎总是返回false。我假设您想要做的是接受数组中存在的所有记录(即您打算使用|| 而不是&&)。

    你可以使用ArrayindexOf方法。

    例子:

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

    【讨论】:

      猜你喜欢
      • 2018-03-16
      • 2013-07-24
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多