Framework7 虚拟列表 searchAll 函数未被使用
Framework7 virtual list searchAll function not being used
我正在开发一个 PhoneGap 应用程序,我正在尝试使用 framework7 的搜索栏来过滤我的虚拟产品列表。
当前的功能是列表工作正常,但搜索栏只搜索呈现的元素而不是整个虚拟列表。
我已经通过 framework7 的 documentation 让他们的虚拟列表和搜索栏协同工作,但据我所知,我代码中的搜索栏完全忽略了我放入的虚拟列表 searchAll 函数. 我可以有 searchAll() return 任何东西,它对当前的功能没有影响。
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 作为属性或类似于 link 放入搜索栏中,期望它们一起工作对我来说似乎很奇怪像魔术一样。然而,这似乎是文档所建议的(在我的情况下显然不是,或者它会起作用)。感谢您的帮助。
通过查看 github 上的 example 解决了这个问题。乍一看都是一样的,就复制过来,慢慢改回来,把我的数据也包括进来,看看哪里出了问题。由于某些该死的原因,您需要使用 class 虚拟列表来识别包含您的列表的父级。然后为您的虚拟列表和搜索栏指定 class。使用不同的名称是行不通的。非常令人沮丧的是,文档中根本没有提到这一点。
我正在开发一个 PhoneGap 应用程序,我正在尝试使用 framework7 的搜索栏来过滤我的虚拟产品列表。
当前的功能是列表工作正常,但搜索栏只搜索呈现的元素而不是整个虚拟列表。
我已经通过 framework7 的 documentation 让他们的虚拟列表和搜索栏协同工作,但据我所知,我代码中的搜索栏完全忽略了我放入的虚拟列表 searchAll 函数. 我可以有 searchAll() return 任何东西,它对当前的功能没有影响。
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 作为属性或类似于 link 放入搜索栏中,期望它们一起工作对我来说似乎很奇怪像魔术一样。然而,这似乎是文档所建议的(在我的情况下显然不是,或者它会起作用)。感谢您的帮助。
通过查看 github 上的 example 解决了这个问题。乍一看都是一样的,就复制过来,慢慢改回来,把我的数据也包括进来,看看哪里出了问题。由于某些该死的原因,您需要使用 class 虚拟列表来识别包含您的列表的父级。然后为您的虚拟列表和搜索栏指定 class。使用不同的名称是行不通的。非常令人沮丧的是,文档中根本没有提到这一点。