[英]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.