@grossb/react-table
TypeScript icon, indicating that this package has built-in type declarations

0.1.6 • Public • Published

React table

Данный компонент является оберткой для html-тегов table, tbody, thead, tr, th, td

Оглавление

Table

Body

Head

Row

Cell

CSS переменные

Пример использования

Table

  • children - дочерний компонент
  • className - классы стилей для таблицы
  • striped - цвет фона строк чередуются
  • containerProps - классы стилей для контейнера таблицы
  • fixedTopTitle - зафиксировать заголовок таблицы при вертикальном скролле
  • fixedLeftColumn - зафиксировать левый столбец таблицы при горизонтальном скролле

Body

  • children - дочерний компонент

Head

  • children - дочерний компонент

Row

  • children - дочерний компонент

Cell

Данный компонент принимает все стандартные параметры td и th

  • children - дочерний компонент
  • component - определяет каким тегом отрисовывать ячейку: td или th, по умолчанию td
  • editable - включает возможность отображение компонента редактирования прямо в ячейке. Но в этом случае необходимо определить editComponent.
  • onDoubleClick - функция, которая будет вызываться при двойной нажатии на ячейку.
  • onBlur - функция, которая будет вызываться при двойной нажатии на ячейку. Вызывается, когда edutable = true
  • editComponent - компонент редактирования значения в ячейке таблицы. Отображается при edutable = true и после двойного клика на ячейку

CSS переменные

  • --fixed-table-cell-background-color - задает цвет фона для ячеек, которые находятся в зафиксированных верхнем заголовке или в левом столбце. Значение по умолчанию - white.
  • --table-striped-odd-row-background-color - цвет фона нечетных строк при striped=true. Значение по умолчанию - #e8eaf6
  • --table-striped-even-row-background-color - цвет фона четных строк при striped=true. Значение по умолчанию - white
  • --table-row-hover-background-color - цвет фона при наведении на строку. Значение по умолчанию - #c5cae9

Пример использования

const data = [
  {id: 0, name: "First item"},
  {id: 1, name: "Second item"}
  ];

const rows = data.map((item) => <Row key={item.id}>
  <Cell editable editComponent={<input />}>
    {item.id}
  </Cell>
  <Cell editable editComponent={<input />}>
    {item.name}
  </Cell>
</Row>)

function App() {
  return (
    <div className="App">
      <Table fixedTopTitle fixedLeftColumn>
        <Head>
          <Row>
            <Cell component="th">1
              ID
            </Cell>
            <Cell component="th">
              Name
            </Cell>
          </Row>
        </Head>
        <Body>
          {rows}
        </Body>
      </Table>
    </div>
  );
}

Package Sidebar

Install

npm i @grossb/react-table

Weekly Downloads

1

Version

0.1.6

License

MIT

Unpacked Size

14.7 kB

Total Files

17

Last publish

Collaborators

  • grosserbruder