4 шага по созданию таблицы с параметрами поиска и фильтрации.

Как разработчики, мы всегда ищем методы для структурированного представления данных приложения. Чаще для этого используются таблицы. Однако в большинстве случаев нам нужны такие функции, как поиск, фильтрация, сортировка с помощью таблиц.

Вот где мы можем использовать библиотеки, такие как React Table, что экономит время при разработке.

Выбор библиотеки таблиц React

React Table - это набор хуков для создания надежных таблиц и Datagrid.

Будучи одной из самых известных библиотек таблиц для React, она предлагает множество функций, которые заставят вас влюбиться в нее.

  • React Table - это автономная утилита, что означает, что она не отображает и не предоставляет никаких элементов пользовательского интерфейса, разметки или стилей и позволяет вам иметь 100% контроль над разметкой и стилями.
  • Это набор крючков, и эти крючки компактны, легки и легко растягиваются.
  • Он обеспечивает бескомпромиссный пользовательский интерфейс и пользовательский интерфейс.
  • Внутри таблицы есть легко понятная типографика и настраиваемые элементы.
  • Это облегчает поиск параметров в таблице или определенных столбцах, обеспечивая фильтрацию или сортировку данных.
  • React Table является очень прочным и декларативным в том смысле, что помогает разбивать на страницы и позволяет отображать скрытые столбцы, встроенное редактирование данных, изменение размера столбца для соответствия длинным точкам данных и поддержку горизонтальной и вертикальной прокрутки.
  • Модальную панель / панель сведений можно использовать для редактирования всей строки данных.
  • Его поддержка нескольких устройств с фиксированными заголовками и столбцами для быстрого просмотра данных позволяет повысить скорость отклика.

Как видите, React Table покрывает для нас большую часть функциональных возможностей таблиц, поэтому я предпочитаю ее другим библиотекам.

Создание таблицы с помощью React-Table

Я создал базовую таблицу с помощью React Table и поделился ею с Bit.dev. Изучите его или импортируйте (клонируйте) в рабочее пространство Bit и попробуйте.

Теперь давайте посмотрим, как создать простой пользовательский интерфейс таблицы с основными функциями фильтрации и сортировки.

Шаг 1 - Настройка проекта

Во-первых, вам нужно создать приложение React и интегрировать соответствующие API-интерфейсы для получения данных для ваших таблиц.

В этом примере я буду использовать Сведения о пользователе из Фальшивого API без заполнителей JSON. Кроме того, я буду использовать Axios для вызовов API.

Когда вы думаете о структуре таблицы, вы обычно думаете о строках и столбцах. С вложенными столбцами, вложенными строками и другими элементами конфигурации таблиц могут стать еще более сложными.

Здесь я создал простую структуру таблицы с именем tabledata и включил два заголовка и группы столбцов. Также есть accessor для каждого столбца, который является данными в data object.

Примечание. React.useMemo используется для создания структуры таблицы, чтобы гарантировать, что данные не воссоздаются при каждом рендеринге.

Шаг 2. Создание компонента таблицы.

Затем нам нужно добавить в приложение React Table. Для этого создадим отдельный компонент. Вы можете установить его с помощью NPM или Yarn.

npm install react-table or yarn add react-table

Как я уже упоминал ранее, React Table состоит из множества хуков. В этом примере я буду использовать userTable hook. Здесь компонент таблицы принимает два свойства с именами data и columns для создания заголовка и ячеек таблицы.

Исходный table.js файл будет выглядеть следующим образом, и вам нужно импортировать этот файл в App.js

Приведенный выше код сгенерирует базовое табличное представление, подобное этому:

На высоком уровне эта таблица удовлетворительна. Но что, если вам нужны уникальные стили? На этом этапе вы можете создавать собственные стили для каждой ячейки с помощью React Table.

Шаг 3 - Добавьте функцию поиска / фильтрации

Теперь я покажу вам шаги по добавлению функции поиска в вашу таблицу React Table.

Во-первых, нам нужно иметь поисковый ввод в нашем table.js.. А затем мы можем использовать useFilters хук, предоставленный React Table, для фильтрации результатов.

Я реализовал опцию фильтрации только для атрибута name. Когда пользователь изменяет значение ввода в строке поиска, отображаются только совпадающие строки.

Шаг 4 - Добавьте функцию сортировки

Чтобы добавить опцию сортировки в нашу таблицу, нам нужно включить хук плагина useSortBy, предоставляемый React Table. Он будет динамически сортировать по возрастанию и убыванию. Это так просто.

Вы можете решить, включать ли этот параметр для всех столбцов или только для определенных столбцов; все зависит от вас. Этим можно управлять, применив параметр disableSortBy к столбцу, чтобы отключить сортировку.

Чтобы включить сортировку для всех столбцов, отредактируйте table.js, добавив следующее.

После всех этих настроек ваши App.js и table.js в конечном итоге будут выглядеть так, как показано ниже.

Когда и где использовать React-Table?

Хотя React Table богат функциями, важно понимать, где он хорошо подходит, а где нет.

Где хорошо вписывается

  • Пользовательский интерфейс вашей таблицы требует основных функций, таких как сортировка, фильтрация и разбиение на страницы. React Table будет хорошим выбором.
  • Ваш стол действует исключительно как витрина, но должен быть очень легким и эффективным; вы можете перейти на React Table.

Где это не будет

  • Если вам нужна расширенная поддержка горизонтальной и вертикальной прокрутки, React Table может не подойти вам.
  • Если вам нужно облегчить встроенное редактирование с помощью React Table, вы должны полагаться на плагины, чтобы добавить такую ​​функциональность.
  • При работе с бесконечно длинными таблицами лучше выбрать альтернативу, чем придерживаться React Table.

Последние мысли

React Table - самая известная библиотека таблиц для React. Это был бы лучший выбор для пользовательских интерфейсов таблиц с ограниченными данными, настраиваемыми стилями и базовыми функциями, такими как сортировка и фильтрация.

Однако в зависимости от требований проекта могут существовать различные альтернативы.

Итак, я приглашаю вас использовать React Table Library и делиться своими мыслями в разделе комментариев.

Спасибо за чтение..!!!

Создавайте отличные дизайнерские системы и микро-интерфейсы

Выведите фронтенд-разработку на новый уровень с помощью независимых компонентов. Создавайте и совместно работайте над приложениями на основе компонентов, чтобы легко разблокировать Micro Frontend и обмениваться компонентами.

Инструменты OSS, такие как Bit, предлагают отличный опыт разработки для создания и компоновки независимых компонентов, а также создания в одиночку или вместе с вашей командой.

Попробуйте →

Учить больше