Полимер 1.x: Как отфильтровать железо-таблицу данных?

Как мне добавить filter приписывать <iron-data-table? (Пожалуйста, опубликуйте демонстрационную версию.)

Я раздвоил этот удар. Затем я попытался добавить фильтр, добавив следующую строку:

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

Который сломал планк. Вот новый (теперь сломанный) шлепок.

Документация здесь описывает filter атрибут следующим образом:

filter Массив, содержащий пары путь / значение фильтра, которые используются для фильтрации элементов.

Но ему не хватает примера того, как его использовать.

Как мне добавить filter приписывать <iron-data-table? (Пожалуйста, опубликуйте демонстрационную версию.)

1 ответ

Решение

Это не очень хорошо документированная функция:

Обычно вы бы использовать filter-by а также filter-value свойства в <data-table-column> элементы, но вы также можете получить доступ к filter собственность напрямую.

Когда дело доходит до фильтрации items В источнике данных существует только "содержащий" вид фильтрации. Таким образом, вы в значительной степени не можете выполнять фильтрацию по длине строки, как в вашем Plnkr с ними. Для большей пользовательской функциональности фильтрации вам нужно использовать функцию dataSource где вы можете делать все что угодно, используя фильтры, предоставленные в качестве аргументов для функции источника данных.

В любом случае, если вы все еще хотите получить доступ filter непосредственно и, например, предоставить значение фильтрации по умолчанию, необходимо установить значение в виде массива объектов, которые имеют path а также filter имущество:

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

Вот пример: http://plnkr.co/edit/KIefwLNHeinkOgERWOvZ?p=preview

Другие вопросы по тегам