Skip to Content

BasicTable

A simple table component for displaying tabular data. For advanced features like sorting, pagination, and virtual scrolling, see ProTable.

Import

import { BasicTable } from '@tidbcloud/uikit/biz'

Basic Usage

import { BasicTable } from '@tidbcloud/uikit/biz' const data = [ { id: 1, name: 'John', email: 'john@example.com' }, { id: 2, name: 'Jane', email: 'jane@example.com' }, { id: 3, name: 'Bob', email: 'bob@example.com' } ] const columns = [ { accessorKey: 'id', header: 'ID' }, { accessorKey: 'name', header: 'Name' }, { accessorKey: 'email', header: 'Email' } ] function Demo() { return <BasicTable data={data} columns={columns} /> }

With Custom Cell Rendering

import { BasicTable } from '@tidbcloud/uikit/biz' import { Badge } from '@tidbcloud/uikit' const columns = [ { accessorKey: 'name', header: 'Name' }, { accessorKey: 'status', header: 'Status', Cell: ({ cell }) => <Badge color={cell.getValue() === 'Active' ? 'green' : 'gray'}>{cell.getValue()}</Badge> } ] function Demo() { return <BasicTable data={data} columns={columns} /> }

Empty State

import { BasicTable } from '@tidbcloud/uikit/biz' function Demo() { return <BasicTable data={[]} columns={columns} emptyText="No data available" /> }

Loading State

import { BasicTable } from '@tidbcloud/uikit/biz' function Demo() { return <BasicTable data={[]} columns={columns} loading /> }

Without Border

import { BasicTable } from '@tidbcloud/uikit/biz' function Demo() { return <BasicTable data={data} columns={columns} withBorder={false} /> }

Props

PropTypeDefaultDescription
dataT[]-Table data
columnsColumn[]-Column definitions
withBorderbooleantrueShow table border
emptyTextstring-Empty state message
errorTextstring-Error state message
loadingbooleanfalseLoading state
wrapperPropsBoxProps-Wrapper element props

BasicTable is built on mantine-react-table and supports all its options.

Last updated on