جدول (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
TableHeader / TableBody / TableRow
همه className استاندارد را میپذیرند.
TableHead
TableCell
TableCaption
راهنمای استفاده
بکنید
- از
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 استفاده کنید