Polymer 1.x:如何过滤iron-data-table?

Polymer 1.x: How to filter iron-data-table?

如何将 filter 属性添加到 <iron-data-table? (请 post 一个简单的演示。)

I forked this plunk。然后我尝试通过添加以下行来添加过滤器:

<iron-data-table
  ...
  filter="['item.user.name.first.length', '< 5']">

这打破了事实。 Here is the new (now broken) plunk.

The documentation here describes the filter attribute as follows:

filter An array containing path/filter value pairs that are used to filter the items.

但它缺少如何使用它的示例。

如何将 filter 属性添加到 <iron-data-table? (请 post 一个简单的演示。)

这不是一个有据可查的功能:

通常,您会在 <data-table-column> 元素中使用 filter-byfilter-value 属性,但您也可以直接访问 filter 属性。

在过滤 items 数据源时,只有 "contains" 种过滤可用。因此,您几乎不能像在 Plnkr 中那样根据字符串长度进行过滤。要获得更多自定义过滤功能,您需要使用一个函数 dataSource,您可以在其中使用作为数据源函数参数提供的过滤器做任何您想做的事情。

无论如何,如果您仍想直接访问 filter,例如提供默认过滤值,您需要将该值设置为一个对象数组,其中有一个 pathfilter 属性:

this.filter = [{path: 'user.name.first', filter: 'donna'}];

举个例子:http://plnkr.co/edit/KIefwLNHeinkOgERWOvZ?p=preview