「offices.json」からデータを取得しているタブ付きパネルアプリのページの1つにネストされたリストがあります
ユーザーがツールバーボタンをクリックしたときに、このリストをフィルタリングできるようにしたいと思います。ただし、filterBy()関数は、コンソールに表示されていても、レコードを繰り返して一致するものを見つけているにもかかわらず、表示されているストアとオフィスのリストを更新しません。私は何が間違っているのですか?(はい、filterByの前後の両方でs.load()を実行しようとしましたが、役に立ちませんでした!)
toolbar:{
items:[{
text: 'Near you',
id: 'btnNearYou',
xtype: 'button',
handler: function() {
s = Ext.StoreMgr.get('offices');
s._proxy._url = 'officesFLAT.json';
console.log("trying to filter");
s.filterBy(function(record) {
var search = new RegExp("Altrincham", 'i');
if(record.get('text').match(search)){
console.log("did Match");
return true;
}else {
console.log("didnt Match");
return false;
}
});
s.load();
}
}]
記録のために、私は自分の店を次のように定義しています:
store: {
type: 'tree',
model: 'ListItem',
id: 'offices',
defaultRootProperty: 'items',
proxy: {
type: 'ajax',
root: {},
url: 'offices.json',
reader: {
type: 'json',
rootProperty: 'items'
}
}
}