2015-08-17 2 views
0

Я хочу обновить свой список в sencha touch, основываясь на множественном выборе моего идентификатора.Sencha Touch: применение нескольких фильтров для хранения

Я внедрил фильтр в свой магазин на основе выбранного идентификатора, поэтому, когда пользователь нажимает на каждый идентификатор, список будет обновлен, код показан ниже.

control: { 
      MaterialscategoryList:{ 
       itemtap: "refreshList" 

     }, 

refreshList:function (list, index, target, record){ 

     console.log("record id is " +record.get('id')); 
    if(record.get('id') == 1){ 
    Ext.getStore('materialsid').filter('categoryId', '1'); 
    }else if(record.get('id') == 2){ 
     Ext.getStore('materialsid').filter('categoryId', '2'); 
    }else if(record.get('id') == 3){ 
     Ext.getStore('materialsid').filter('categoryId', '3'); 
    }else if(record.get('id') == 4){ 
     Ext.getStore('materialsid').filter('categoryId', '4'); 
    }else if(record.get('id') == 5){ 
     Ext.getStore('materialsid').filter('categoryId', '5'); 
    }else if(record.get('id') == 6){ 
     Ext.getStore('materialsid').filter('categoryId', '6'); 
    } 


}, 

У меня есть сценарий, где пользователь будет выбрать несколько идентификаторов и я хочу, чтобы применить фильтр .Не уверен, как идти вперед. Буду признателен за любую оказанную помощь.

+0

Вы можете использовать filterFn где вы проверяете, если идентификатор находится в идентификаторах выбранных записей: http://docs.sencha.com/touch/2.4/2.4.2-apidocs/#!/api/ Ext.data.Store-метод-фильтр – Tarabass

ответ

0
var store = Ext.getStore('materialsid'); 
store.filter(function(record){ 
    var id = record.get('categoryId'); 
    return (id == 1 || id == 2 || id == 3); // you can pass your selected Ids here 
});