fmihel-react-bootstrap-table
v1.2.0
Published
table component with fixed header and fast view long data array
Downloads
53
Readme
react-bootstrap-table
react bootstrap table for view large data
React компонет для отображения таблиц в bootstrap. Таблица имеет фиксированный
заголовок, а так же позволяет быстро просматривать большие массивы (проверено на 1000000 записей).
Контейнер, в котором формируется таблица должен иметь фиксированную высоту либо maxHeight:100%
Пример использования:
import React from 'react';
import Table from "fmihel-react-bootstrap-table";
import 'fmihel-react-bootstrap-table/style/scss';
class App extends React.Component {
render() {
return (
<div className="container-fluid" >
<div className="row">
<div className="col">
Table
</div>
</div>
<div className="row">
<div className="col" style={{ height: '200px' }}>
<Table
data={this.props.data}
fields ={this.props.fields}
css={{
add:'table-sm table-bordered table-striped table-hover'
}}
light={false}
/>
</div>
</div>
</div>
);
}
}
function getData(count) {
const res = [];
for (let i = 0; i < count; i++) {
res.push({
id: i,
name: `name ${i}`,
age: i * 10,
date: `${i}/${i * 10}/${i * 100}`,
});
}
return res;
}
App.defaultProps = {
data: getData(2000),
fields: [
{ name: 'id', width: 30 },
{ name: 'name' },
{ name: 'age' },
{ name: 'date' }
],
};
Table.props
|name|type|notes| |----|----|----| |showHeader|bool| отобразить/скрыть заголовок| |showScrollBar|bool| отобразить/скрыть вертикальный scrollbar| |moveTo|int| переместить на запись с номером moveTo| |vertical|bool|распологает ячейки td по вертикали, что удобно про просмотре на мобильном| |vertical|object|{enable : boolean- включить вертикальный режим(default = true)showCaption : boolean - добавить описания столбцов (default = true)direct : string - 'row'/'column' default = rowwidthCaption : string - ширина caption, только для direct = 'row' }| |data|array|массив данных [ {fieldName1:value1,filedName2:value2,...},{fieldName1:value3,filedName2:value4,...},... ]| |fields|array|массив полей, порядок полей определяет порядок отображения[{name:string,caption?:string,width?:int},...] | |keyField|string|имя поля содержащего ключ, если не указать, то будет использоваться порядковый номер| |css|object|набор дополнительных классов | |onDrawRow|function|обработчик вызываемяй перед перерисовкой каждой строки| |onDrawCol|function|обработчик вызываемый перед перерисовкой клетки|
css
Объект позволяющий кастомизировать стили таблицы и компонентов
|name|type (default)|notes|
|----|----|----|
|root|string ('table')|верхний класс, предустановлен как класс bootstrap 'table'|
|add|string ('')| дополнительные классы, к примеру 'table-sm table-bordered '|
|themePrefClass|string ('table')|префикс класса для определения настроек темы, тема определяется свойством theme|
|theme|string ('')|имя темы,результирующий класс темы получается как themePrefClass+'-'+theme|
|row|object (...)|библиотека тематических классов, для подсветкм строк |
css.row.default :
row:{
select: { light: 'table-primary', dark: 'bg-primary' },
error: { light: 'table-danger', dark: 'bg-danger' }
}