[英]Issue Filtering Knockout.js observable array
我有一個帶有可觀察數組的基因敲除應用程序。 我已將過濾器添加到可觀察數組。 過濾工作正常。 問題是我在過濾數據時正在調用另一個函數。 這是我的功能:
self.filterResults = function(){
var value = self.searchInput().toLowerCase();
if(value != ''){
clearMarkers();
self.burgerList(self.burgerList().filter(function(data){
addmarker(data.lat(), data.long(), data.id(), data.name(), data.comments());
return data.name().toLowerCase().startsWith(value);
}));
}else{
showMarkers();
self.burgerList(self.burgerListClone());
}
};
在執行過濾時,我在調用addmarker時似乎存在滯后。
我已將所有代碼粘貼到jsfiddle中以顯示我在做什么的示例: https ://jsfiddle.net/maL3zqgq/5/
由於要在過濾之前添加標記,因此您將看到前一個過濾器的結果。 您需要在過濾后添加標記:
self.burgerList(self.burgerList().filter(function(data){
return data.name().toLowerCase().startsWith(value);
}));
clearMarkers();
self.burgerList().forEach(function(data){
addmarker(data.lat(), data.long(), data.id(), data.name(), data.comments());
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.