Filter 聚合物:模板dom重复中的多个过滤器

Filter 聚合物:模板dom重复中的多个过滤器,filter,polymer,dom-repeat,Filter,Polymer,Dom Repeat,我有一个简单的dom重复,如下所示: <template is="dom-repeat" items="{{projects}}" as="project" filter="{{computeFilter(searchString)}}"> [[project.name]] - [[project.number]] </template> <paper-input name="filter-name" label="Filter by project name"

我有一个简单的dom重复,如下所示:

<template is="dom-repeat" items="{{projects}}" as="project" filter="{{computeFilter(searchString)}}">
[[project.name]] - [[project.number]]
</template>

<paper-input name="filter-name" label="Filter by project name" value="{{searchString}}"></paper-input>
一切都好。现在,如果我还希望按项目编号进行ot筛选,我将如何添加另一个筛选器


我会让另一个纸质按钮绑定到{{searchString2}},但是我如何将其链接到一个过滤器——换句话说,如何在一个dom repeat上设置多个过滤器?

有一种方法可以使用多个过滤器过滤
dom repeat

首先,以下是模板:

<paper-input name="filter-name" label="Filter by project name" value="{{filterText::input}}"></paper-input>
<paper-input name="filter-name" label="Filter by project type" value="{{filterText2::input}}"></paper-input>
<template id="resultList" is="dom-repeat" items="{{ projects }}" filter="filterProject" as="project">
  <div>
    [[project.name]] - [[project.number]]
  </div>
</template>
然后,必须对过滤器使用过滤器功能:

filterProject: function(item) {
    return (this.filterText && item.name.match(new RegExp(this.filterText, 'i'))) || 
      (this.filterText2 && item.name.match(new RegExp(this.filterText2, 'i')));
  },

您可以看到此方法的一个示例。

有一种方法可以使用多个过滤器过滤
dom repeat

首先,以下是模板:

<paper-input name="filter-name" label="Filter by project name" value="{{filterText::input}}"></paper-input>
<paper-input name="filter-name" label="Filter by project type" value="{{filterText2::input}}"></paper-input>
<template id="resultList" is="dom-repeat" items="{{ projects }}" filter="filterProject" as="project">
  <div>
    [[project.name]] - [[project.number]]
  </div>
</template>
然后,必须对过滤器使用过滤器功能:

filterProject: function(item) {
    return (this.filterText && item.name.match(new RegExp(this.filterText, 'i'))) || 
      (this.filterText2 && item.name.match(new RegExp(this.filterText2, 'i')));
  },
您可以看到此方法的一个示例