我看到了这个问题,我想更进一步 https://stackoverflow.com/questions/18606212/store-filter-in-sencha-touch#=
现在我测试了类似的东西:
TABLEVIEWSTORE1.filter("name", name);
TABLEVIEWSTORE1.load({callback: function (){
tableviewstore2.load({callback: function (){
TABLEVIEWSTORE1.each(function(item){
tableviewstore2.filterBy(function(record,id){
return record.get("number") == item.get("number");
}, this);
});
TABLEVIEWSTORE1.load({callback: function (){
tableviewstore2.load({callback: function (){
// DO MORE THINGS
}});
}});
}});
}});
});
有谁知道它是如何正常工作的?
答案 0 :(得分:2)
首先,我们应该找到第一个过滤商店中的所有唯一数字。
然后,我们应该根据那些唯一的数字数组过滤第二个商店。
我们将使用Ext.Array
。
var uniqueNumbers= [];
TABLEVIEWSTORE1.each(function(item){
Ext.Array.include(uniqueNumbers,item);
});
tableviewstore2.filterBy(function(record){
return Ext.Array.contains(uniqueNumbers,record.get("number"));
});