【问题标题】:Framework7 virtual list searchAll function not being usedFramework7虚拟列表searchAll功能未使用
【发布时间】:2017-08-22 13:33:59
【问题描述】:

我正在开发一个 PhoneGap 应用程序,我正在尝试使用 framework7 的搜索栏过滤掉我的虚拟产品列表。

当前的功能是列表工作正常,但搜索栏只搜索渲染的元素而不是整个虚拟列表。

我已经通过 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 作为属性或类似属性放入搜索栏中以链接它们的方法,期望它们像魔术一样一起工作似乎很奇怪。然而,这似乎是文档所暗示的(在我的情况下显然不是,或者它会起作用)。感谢您的帮助。

【问题讨论】:

    标签: javascript jquery phonegap html-framework-7


    【解决方案1】:

    通过查看他们 github 上的 example 解决了这个问题。乍一看,一切都是一样的,所以我把它复制过来,然后慢慢改回来,以包含我的数据,看看问题出在哪里。出于某种该死的原因,您需要使用类 virtual-list 来识别包含您的列表的父级。然后为您的虚拟列表和搜索栏指定该类。使用不同的名称将不起作用。令人沮丧的是,文档中根本没有提到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-09
      • 2018-02-16
      • 1970-01-01
      • 2014-05-12
      • 2020-06-05
      • 2020-09-26
      • 1970-01-01
      • 2012-09-16
      相关资源
      最近更新 更多