过滤表使用knockout js

时间:2017-08-02 13:11:03

标签: knockout.js

我有一个使用淘汰赛显示的表格。我有一个文本框用于在客户端搜索表。根据搜索文本框我需要过滤表。 我正在使用Knockout版本-knockout-3.4.0.js。大多数样本都基于旧版淘汰赛而提供。我们是否有任何简单的方法来实现所需 结果。在表中有大约4列,每列将有一组3个fiels。所以基本上我需要搜索每列中的所有字段组 并在UI中更新结果。

1 个答案:

答案 0 :(得分:1)

您认为您需要此处定义的ko.utils.arrayFilter。

http://www.knockmeout.net/2011/04/utility-functions-in-knockoutjs.html

这是一个小提琴。

https://jsfiddle.net/0o89pmju/23/

这是从上面列出的淘汰实用程序功能网站复制的过滤器。

//filter the items using the filter text
viewModel.filteredItems = ko.computed(function() {
    var filter = this.filter().toLowerCase();
    if (!filter) {
        return this.items();
    } else {
        return ko.utils.arrayFilter(this.items(), function(item) {
            return ko.utils.stringStartsWith(item.name().toLowerCase(), filter);
        });
    }
}, viewModel);