簡體   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