Table

행과 열을 비교하며 읽는 정형 데이터에 사용합니다. 정렬, 필터, 선택이 필요하면 DataTable을 사용하세요.

미리보기

관심 종목 데이터

예시 종목·가격·변동·상태를 비교하고 선택된 행과 양수·음수 변동을 확인합니다.

관심 종목 · 10분 지연 데이터
종목가격변동상태
NVDA$181.92+2.41%장중
005930₩72,400+1.08%선택됨
TSLA$318.27−0.64%관심

설치

Registry를 처음 사용한다면 기본 설정과 공통 스타일 설치 을 먼저 완료하세요.

npx shadcn@latest add @neumorphism-ui/table

공통 base를 한 번 설치한 뒤 CLI로 필요한 컴포넌트와 의존성을 추가합니다.

관심 종목 데이터

npx shadcn@latest add @neumorphism-ui/badge @neumorphism-ui/table
Registry JSON

사용법

TableCaption과 scope를 지정한 TableHead, TableBody의 행을 구성하세요. 작은 화면에서 스크롤하더라도 데이터 관계가 유지되도록 표 요소를 사용합니다.

import { Table, TableBody, TableCaption, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table";

export default function Example() {
  return (
    <Table>
      <TableCaption>Workspace projects</TableCaption>
      <TableHeader><TableRow><TableHead scope="col">Project</TableHead><TableHead scope="col">Seats</TableHead></TableRow></TableHeader>
      <TableBody><TableRow><TableCell>Atlas</TableCell><TableCell>12</TableCell></TableRow></TableBody>
    </Table>
  );
}

API 레퍼런스

native table 요소와 caption, thead, tbody, tfoot, tr, th, td를 조합합니다. 외부 container가 overflow-x-auto와 뉴모피즘 raised 표면을 제공합니다.

컴포넌트속성타입기본값설명
Tablechildren필수React.ReactNode—caption과 table section을 배치합니다.
TableCaptionchildrenReact.ReactNode—표의 목적과 데이터 범위를 설명합니다.
TableHeadscope"col" | "row" | "colgroup" | "rowgroup"—header가 설명하는 cell 방향을 명시합니다.
TableRowdata-state"selected" | string—선택된 행의 inset 상태를 활성화합니다.
TableCellcolSpan / rowSpannumber—native table cell 병합 범위입니다.

접근성

  • 01

    표의 목적을 TableCaption으로 제공하고 시각적으로 숨기려면 sr-only class를 사용합니다.

  • 02

    열과 행 header에는 의미에 맞는 scope를 지정합니다.

  • 03

    레이아웃만 맞추기 위한 표에는 Table을 사용하지 말고 CSS grid나 flex를 사용합니다.