پرتوپرتو

جدول (Table)

کامپوننت نمایش داده در قالب جدول

معرفی

کامپوننت Table برای نمایش داده‌ها در قالب جدول استفاده می‌شود.

چه زمانی استفاده کنیم:

  • برای نمایش داده‌های ساختاریافته با ستون‌های مشخص و بدون نیاز به تعامل پیچیده
  • جداول ساده با کمتر از ۵ ردیف بدون مرتب‌سازی یا صفحه‌بندی
  • نمایش داده‌های مقایسه‌ای ساده

چه زمانی استفاده نکنیم:

  • برای داده با sorting، filtering، یا pagination — از DataTable استفاده کنید
  • برای نمایش key-value pairs — از dl/dt/dd یا StatDisplay استفاده کنید

استفاده

لیست سفارشات اخیر
شماره سفارشمشتریمبلغوضعیت
#۰۰۱علی احمدی۱۲۰,۰۰۰ تومانتکمیل شده
#۰۰۲مریم محمدی۸۵,۰۰۰ توماندر انتظار
#۰۰۳رضا کریمی۹۵,۰۰۰ تومانتکمیل شده
import { Table, TableBody, TableCaption, TableCell, TableHead, TableHeader, TableRow } from '@parto-system-design/ui'

export default function MyComponent() {
  return (
    <Table>
      <TableCaption>لیست کاربران</TableCaption>
      <TableHeader>
        <TableRow>
          <TableHead>نام</TableHead>
          <TableHead>ایمیل</TableHead>
          <TableHead>نقش</TableHead>
        </TableRow>
      </TableHeader>
      <TableBody>
        <TableRow>
          <TableCell>محمد احمدی</TableCell>
          <TableCell>mohammad@example.com</TableCell>
          <TableCell>ادمین</TableCell>
        </TableRow>
      </TableBody>
    </Table>
  )
}

حالت‌ها و انواع

جدول ساده

لیست سفارشات اخیر
شماره سفارشمشتریمبلغوضعیت
#۰۰۱علی احمدی۱۲۰,۰۰۰ تومانتکمیل شده
#۰۰۲مریم محمدی۸۵,۰۰۰ توماندر انتظار
#۰۰۳رضا کریمی۹۵,۰۰۰ تومانتکمیل شده

با Caption

<Table>
  <TableCaption>لیست سفارشات اخیر</TableCaption>
  <TableHeader>...</TableHeader>
  <TableBody>...</TableBody>
</Table>

کامپوننت‌ها

کامپوننتتوضیح
Tableالمان <table> اصلی با overflow-x scroll
TableHeaderالمان <thead>
TableBodyالمان <tbody>
TableRowالمان <tr>
TableHeadالمان <th> برای ستون‌های هدر
TableCellالمان <td> برای سلول‌های داده
TableCaptionالمان <caption> برای عنوان جدول

Props

Table

Prop

Type

TableHeader / TableBody / TableRow

همه className استاندارد را می‌پذیرند.

TableHead

Prop

Type

TableCell

Prop

Type

TableCaption

Prop

Type

راهنمای استفاده

بکنید

  • از Table برای نمایش داده‌های ساختاریافته با ستون‌های مشخص استفاده کنید - برای ستون‌های قابل مرتب‌سازی از TableSortHeader با sortDirection استفاده کنید - برای جداول بزرگ از size="sm" برای فشردگی بیشتر استفاده کنید

نکنید

  • از جدول برای نمایش محتوای غیرداده‌ای (متن، گالری) استفاده نکنید - ستون‌های غیرضروری اضافه نکنید — اطلاعات باید قابل اسکن باشند - برای جداول با مرتب‌سازی، وضعیت aria-sort را در TableHead فراموش نکنید

دسترسی‌پذیری

  • استفاده از المان‌های معنادار HTML (table, thead, tbody, th, td, caption)
  • TableHead از scope="col" پشتیبانی می‌کند
  • TableCaption برای صفحه‌خوان‌ها عنوان جدول را توصیف می‌کند

کامپوننت‌های مرتبط

  • DataTable — اگر نیاز به مرتب‌سازی، صفحه‌بندی یا انتخاب ردیف دارید، از DataTable استفاده کنید
  • Pagination — برای افزودن صفحه‌بندی سفارشی به جداول ساده استفاده کنید
  • StatDisplay — اگر داده شما key-value است و ساختار جدولی ندارد، از StatDisplay استفاده کنید