繁体   English   中英

问题过滤Knockout.js可观察数组

[英]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());
         });

https://jsfiddle.net/mbest/maL3zqgq/6/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM