← 카탈로그

🗂️ CommonTable

정렬 · 페이지 · 체크박스 선택까지 기본 제공. 45건 데이터로 페이징 동작 확인.

라이브 데모

선택: 0
45
ID이름역할상태점수가입일
1사용자1관리자비활성992025-01-01
2사용자2매니저활성952025-02-02
3사용자3일반활성842025-03-03
4사용자4게스트비활성932025-04-04
5사용자5관리자활성262025-05-05
6사용자6매니저활성792025-06-06
7사용자7일반비활성522025-07-07
8사용자8게스트활성422025-08-08
9사용자9관리자활성22025-09-09
10사용자10매니저비활성132025-10-10
1 / 5

사용법

import { CommonTable, type Column } from "~/features/common";

const cols: Column<User>[] = [
    { key: "id", header: "ID", width: 60, align: "right" },
    { key: "name", header: "이름" },
    { key: "role", header: "역할",
      render: (r) => <span className="badge badge-primary">{r.role}</span> },
];

<CommonTable
    rows={users} columns={cols}
    rowKey={(r) => r.id}
    pageSize={20}
    selectable selected={sel} onSelectedChange={setSel}
    onRowClick={(r) => nav(`/users/${r.id}`)}
/>