fmihel-react-bootstrap-table

1.2.0 • Public • Published

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 = row
widthCaption : 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' }
}

Package Sidebar

Install

npm i fmihel-react-bootstrap-table

Weekly Downloads

8

Version

1.2.0

License

MIT

Unpacked Size

296 kB

Total Files

15

Last publish

Collaborators

  • fmihel