2017-08-22 78 views
0

我在開發中有一個PhoneGap應用程序,我試圖使用framework7的搜索欄來過濾出我的虛擬產品列表。Framework7虛擬列表searchAll函數沒有被使用

當前的功能是列表工作正常,但搜索欄只搜索渲染的元素而不是整個虛擬列表。

我已經通過framework7的documentation讓他們的虛擬列表和搜索欄一起工作,但據我可以告訴在我的代碼中的搜索欄完全忽略虛擬列表searchAll功能,我把我可以searchAll ()返回任何東西,它對當前的功能沒有任何影響。

var listObject = { 
     items: selectProd, 
     template: '<li class="item-content"><div class="item-inner"><div data-value="{{model_id}}" class="item-title list-title">{{internal_descriptn}}</div></div></li></script>', 
     searchAll: function (query, items) { 
      var foundItems = []; 
      for (var i = 0; i < items.length; i++) { 
       // Check if title contains query string 
       if (items[i].title.indexOf(query.trim()) >= 0) foundItems.push(i); 
      } 
      // Return array with indexes of matched items 
      return foundItems; 
     } 
    }; 
    console.log(listObject); 
    var virtualList = myApp.virtualList('#product-list', listObject); 
    var mySearchbar = myApp.searchbar('.searchbar', { 
     searchList: '.list-block-search', 
     searchIn: '.list-title' 
    }); 

我覺得我可能缺少的僅僅是一些方法來把virtualList到搜索欄作爲屬性或類似鏈接它們,這似乎很奇怪,我期望他們就像魔一起工作。然而,這似乎是文件表明它所做的事情(顯然不是我的情況,或者它會起作用)。謝謝你的幫助。

回答

0

通過在他們的github上查看example來解決它。乍一看,所有內容都是相同的,所以我將它複製並慢慢更換回來,以包含我的數據以查看問題出現的位置。出於某些godamn的原因,您需要使用類虛擬列表來標識包含您的列表的父項。然後爲您的虛擬列表和搜索欄指定該類。使用不同的名稱將不起作用。非常令人沮喪的是,這在文檔中根本沒有提及。