Table with fixed headers, columns and scrollbars for react applications
npm install @n3/react-fixedtableТаблица с фиксированными заголовками и колонками.
```
yarn add @n3/react-fixedtable
npm install @n3/react-fixedtable --save
Нужно обернуть компонент таблицы компонентом FixedTable. ref из render props должен указывать на dom-элемент таблицы.
`tsx
import { FixedTable } from '@n3/react-fixedtable';
// ...
{({
ref,
}) => (
ref={ref}
>
...
)}
`
| Название | Обязательность | Тип | Значение по умолчанию | Описание |
|----------|----------------|-----|-----------------------|----------|
| className | | string | '' | Класс корневого элемента |''
| stickyHeadClassName | | string | | Класс шапки в зафиксированном состоянии |''
| stickyFootClassName | | string | | Класс футера в зафиксированном состоянии |null
| children | + | func | | Функция рендера таблицы
@param {Object} renderProps
@param {React ref} renderProps.ref - ref таблицы
@param {?Number} renderProps.leftCols - количество колонок таблицы, используется для оптимизации рендера таблицы с фиксированными колонками слева. Если рендерится основная таблица, принимает |0
| top | | number | | Отступ от верхнего края экрана до фиксированной шапки |0
| bottom | | number | | Отсутп от нижнего края экрана до фиксированного футера |0
| fixedLeftCols | | number | | Количество левых колонок для фиксации |''
| fixedLeftColsClassName | | string | | Класс обёртки блока фиксированных колонок |''
| fixedLeftColsStickyClassName | | string | | Класс обёртки блока фиксированных колонок в зафиксированном состоянии |() => document
| getScrollableWrapper | | func | | Функция получения элемента, скролл которого отслеживается таблицей |() => true
| checkCanInit | | func | | Функция проверки возможности инициализации. Если определена, инициализация не начнётся до того момента, пока не вернёт true |5
| checkCanInitInterval | | number | | Интервал между вызовами checkCanInit в мс |0
| initDelay | | number | | Задержка инициализации в мс |5
| horizontalScrollDelta | | number | | Контрольное значение разницы ширины таблицы и ширины области в пикселях, начиная с которой появляется горизонтальный скролл |15
| scrollbarWidth | | number | | Ширина скроллбара |[]
| updateUniqs | | arrayOf [
any
] | | Набор значений, при изменении хотя бы одного будет произведена перерисовка фиксированных элементов |false` | Использовать нативное sticky-позиционирование через css |
| tableRef | | Ref
| isNativeStickyPositioning | | boolean |