bodyRow

This component renders the body rows of the table.

Props

The body row renderer receives the following props:

  • children - The children of the footer renderer.
  • footerGroups - Similar to the array of header group but for the footer.

Preview

Name
Email
Stance
Touhatouha@example.commongo
Sadmansadman@example.comgoofy
Otaku Devotakudev@example.commongo
Tonytonny@example.comgoofy
Rodneyrodney@example.comgoofy
Kareemkareem@example.commongo
Ericbob@example.commongo
Bambam@example.comgoofy
Nyjahnyjah@example.comgoofy
Andrewandrew@example.commongo
Page
1 of 2

Code

<Table
  columns={columns}
  data={data}
  renders={{
    bodyRow: ({ children, row }) => (
      <tr
        onClick={() =>
          toast.success(
            `You clicked on ${row.getValue<
              (typeof columns)[number]["accessorKey"]
            >("name")}`
          )
        }
        className="cursor-pointer border-b border-neutral-500"
      >
        {children}
      </tr>
    ),
  }}
/>
<Table
  columns={columns}
  data={data}
  renders={{
    bodyRow: ({ children, row }) => (
      <tr
        onClick={() =>
          toast.success(
            `You clicked on ${row.getValue<
              (typeof columns)[number]["accessorKey"]
            >("name")}`
          )
        }
        className="cursor-pointer border-b border-neutral-500"
      >
        {children}
      </tr>
    ),
  }}
/>
Data
type Data = {
  name: string
  email: string
  stance: "mongo" | "goofy"
}
 
const [data, setData] = React.useState<Data[]>([
  { name: "Touha", email: "touha@example.com", stance: "mongo" },
  { name: "Sadman", email: "sadman@example.com", stance: "goofy" },
  { name: "Otaku Dev", email: "otakudev@example.com", stance: "mongo" },
  {
    name: "Tony",
    email: "tonny@example.com",
    stance: "goofy",
  },
  {
    name: "Rodney",
    email: "rodney@example.com",
    stance: "goofy",
  },
  {
    name: "Kareem",
    email: "kareem@example.com",
    stance: "mongo",
  },
  {
    name: "Eric",
    email: "bob@example.com",
    stance: "mongo",
  },
  {
    name: "Bam",
    email: "bam@example.com",
    stance: "goofy",
  },
  {
    name: "Nyjah",
    email: "nyjah@example.com",
    stance: "goofy",
  },
  {
    name: "Andrew",
    email: "andrew@example.com",
    stance: "mongo",
  },
  {
    name: "Lizzie",
    email: "lizzie@example.com",
    stance: "goofy",
  },
  { name: "Leticia", email: "leticia@example.com", stance: "goofy" },
])
type Data = {
  name: string
  email: string
  stance: "mongo" | "goofy"
}
 
const [data, setData] = React.useState<Data[]>([
  { name: "Touha", email: "touha@example.com", stance: "mongo" },
  { name: "Sadman", email: "sadman@example.com", stance: "goofy" },
  { name: "Otaku Dev", email: "otakudev@example.com", stance: "mongo" },
  {
    name: "Tony",
    email: "tonny@example.com",
    stance: "goofy",
  },
  {
    name: "Rodney",
    email: "rodney@example.com",
    stance: "goofy",
  },
  {
    name: "Kareem",
    email: "kareem@example.com",
    stance: "mongo",
  },
  {
    name: "Eric",
    email: "bob@example.com",
    stance: "mongo",
  },
  {
    name: "Bam",
    email: "bam@example.com",
    stance: "goofy",
  },
  {
    name: "Nyjah",
    email: "nyjah@example.com",
    stance: "goofy",
  },
  {
    name: "Andrew",
    email: "andrew@example.com",
    stance: "mongo",
  },
  {
    name: "Lizzie",
    email: "lizzie@example.com",
    stance: "goofy",
  },
  { name: "Leticia", email: "leticia@example.com", stance: "goofy" },
])
Columns
const columns = [
  { accessorKey: "name", header: "Name" },
  { accessorKey: "email", header: "Email" },
  { accessorKey: "stance", header: "Stance" },
] satisfies ColumnDef<Data, unknown>[]
const columns = [
  { accessorKey: "name", header: "Name" },
  { accessorKey: "email", header: "Email" },
  { accessorKey: "stance", header: "Stance" },
] satisfies ColumnDef<Data, unknown>[]