2
我對從拉數據「offices.json」的一個標籤面板應用程序的頁面中的一個嵌套列表煎茶觸摸2 filterby()不更新記錄
我希望能夠過濾該列出用戶何時單擊工具欄按鈕。然而,我的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'
}
}
}
我添加上面的代碼到我的按鈕的處理函數,但沒有任何反應。該函數觸發(我可以通過console.log看到),但nestedList不會使用已過濾的記錄重新加載。如果我調用s.load(),我只能得到一些東西出現(然後如你所說,你得到了整個數據集)我應該在商店層面設置什麼?我將它添加到上面的主要問題.... –
我認爲我的問題源於嘗試這樣做到一個NestedList。從瀏覽互聯網看來,它不可能在Sencha Touch中過濾嵌套列表。但是,如果這是一個正常的列表,那麼上面的代碼確實有用,所以謝謝埃文! –