"use client" import * as React from "react" import { Checkbox } from "@/examples/base/ui/checkbox" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/examples/base/ui/table" const tableData = [ { id: "1", name: "Sarah Chen", email: "sarah.chen@example.com", role: "Admin", }, { id: "2", name: "Marcus Rodriguez", email: "marcus.rodriguez@example.com", role: "User", }, { id: "3", name: "Priya Patel", email: "priya.patel@example.com", role: "User", }, { id: "4", name: "David Kim", email: "david.kim@example.com", role: "Editor", }, ] export function CheckboxInTable() { const [selectedRows, setSelectedRows] = React.useState>( new Set(["1"]) ) const selectAll = selectedRows.size === tableData.length const handleSelectAll = (checked: boolean) => { if (checked) { setSelectedRows(new Set(tableData.map((row) => row.id))) } else { setSelectedRows(new Set()) } } const handleSelectRow = (id: string, checked: boolean) => { const newSelected = new Set(selectedRows) if (checked) { newSelected.add(id) } else { newSelected.delete(id) } setSelectedRows(newSelected) } return ( Name Email Role {tableData.map((row) => ( handleSelectRow(row.id, checked === true) } /> {row.name} {row.email} {row.role} ))}
) }