پیشرفت (Progress)
نمایشدهنده پیشرفت
معرفی
کامپوننت Progress برای نمایش پیشرفت یک عملیات استفاده میشود.
چه زمانی استفاده کنیم:
- برای نمایش درصد پیشرفت یک عملیات (آپلود، دانلود، پردازش)
- وقتی کاربر باید بداند چه مقدار از عملیات باقی مانده است
- برای نمایش مقادیر خطی 0 تا 100
چه زمانی استفاده نکنیم:
- برای نمایش درصد نرخ تعامل — از
EngagementRate(display="bar") استفاده کنید - برای بارگذاری بدون درصد مشخص — از
SkeletonیاSpinnerاستفاده کنید
استفاده
66%
import { Progress } from '@partodata/ui'
export default function MyComponent() {
return <Progress value={66} variant="primary" showValue />
}زمین بازی
با تغییر تنظیمات زیر، نوار پیشرفت را به صورت زنده مشاهده کنید.
زمین بازی
تنظیمات
داده
ظاهر
کد این نمونه بهصورت خودکار قابل تولید نیست — برای کد آمادهی copy/paste به بخش «استفاده» در بالای صفحه مراجعه کنید.
با برچسب
دانلود فایل45%
<Progress value={45} label="دانلود فایل" showValue />سایزها
کوچک60%
متوسط60%
بزرگ60%
<Progress value={60} size="sm" showValue label="کوچک" />
<Progress value={60} size="md" showValue label="متوسط" />
<Progress value={60} size="lg" showValue label="بزرگ" />رنگها
Primary70%
Secondary60%
Success80%
Warning50%
Destructive40%
<Progress value={70} variant="primary" label="Primary" showValue />
<Progress value={60} variant="secondary" label="Secondary" showValue />
<Progress value={80} variant="success" label="Success" showValue />
<Progress value={50} variant="warning" label="Warning" showValue />
<Progress value={40} variant="destructive" label="Destructive" showValue />Props
راهنمای استفاده
بکنید
- همیشه
labelتوصیفی برای نوار پیشرفت ارائه دهید - ازshowValueبرای نمایش درصد عددی استفاده کنید - ازvariantمناسب برای نوع عملیات استفاده کنید (مثلاًdestructiveبرای حذف)
نکنید
- از Progress برای نمایش نرخ تعامل استفاده نکنید — از
EngagementRate display="bar"استفاده کنید - بهvalueمقدار خارج از بازه 0 تاmaxندهید — مقدار بهصورت خودکار به این بازه محدود میشود (هم در نمایش و هم در درخت دسترسیپذیری) - نوار پیشرفت را بدون context رها نکنید — کاربر باید بداند چه چیزی در حال پیشرفت است
دسترسیپذیری
- از
role="progressbar"(از Radix UI) استفاده میشود aria-valuemin,aria-valuemax,aria-valuenowبه صورت خودکار تنظیم میشوند و مقدار همیشه به بازه 0 تاmaxمحدود میشود؛ بنابراین مقدار خارج از بازه هرگز نوار را به حالت نامعین (indeterminate) نمیبرد- اگر
labelبدهید، همان متن بهصورت خودکار نام دسترسپذیر نوار میشود (aria-labelledby)؛ نیازی به تکرار آن نیست - تنها زمانی
aria-labelیاaria-labelledbyبدهید که برچسب دیداری ندارید یا میخواهید نام دیگری جایگزین شود — مقدار صریح شما برlabelاولویت دارد
کامپوننتهای مرتبط
- CircularProgress — اگر نمایش دایرهای مناسبتر است (مثلاً در فضای مربعی)، از CircularProgress استفاده کنید
- EngagementRate — اگر نیاز به نمایش نرخ تعامل با 6 سطح رنگی دارید، از EngagementRate استفاده کنید