@n3/react-fixedtable
Таблица с фиксированными заголовками и колонками.
Установка
npm install @n3/react-fixedtable --save
yarn add @n3/react-fixedtable
Использование
Нужно обернуть компонент таблицы компонентом FixedTable. ref из render props должен указывать на dom-элемент таблицы.
import FixedTable from '@n3/react-fixedtable';
...
<FixedTable>
{({
ref,
}) => (
<table
ref={ref}
>
...
</table>
)}
</FixedTable>
Props
| className | | string | '' | Класс корневого элемента |
| children | + | func | | Функция рендера таблицы @param {Object} renderProps @param {React ref} renderProps.ref - ref таблицы |
| top | | number | 0 | Отступ от верхнего края экрана до фиксированной шапки |
| bottom | | number | 0 | Отсутп от нижнего края экрана до фиксированного футера |
| fixedLeftCols | | number | 0 | Количество левых колонок для фиксации |
| fixedLeftColsClassName | | string | '' | Класс обёртки блока фиксированных колонок |
| fixedLeftColsStickyClassName | | string | '' | Класс обёртки блока фиксированных колонок в зафиксированном состоянии |
| getScrollableWrapper | | func | () => document | Функция получения элемента, скролл которого отслеживается таблицей |
| checkCanInit | | func | () => true | Функция проверки возможности инициализации. Если определена, инициализация не начнётся до того момента, пока не вернёт true |
| checkCanInitInterval | | number | 5 | Интервал между вызовами checkCanInit в мс |
| initDelay | | number | 0 | Задержка инициализации в мс |
| horizontalScrollDelta | | number | 5 | Контрольное значение разницы ширины таблицы и ширины области в пикселях, начиная с которой появляется горизонтальный скролл |
| scrollbarWidth | | number | 15 | Ширина скроллбара |
| updateUniqs | | arrayOf [ any ] | [] | Набор значений, при изменении хотя бы одного будет произведена перерисовка фиксированных элементов |