ناحیه متن (Textarea)
فیلد ورودی چند خطی
معرفی
کامپوننت Textarea برای ورودی متن چند خطی استفاده میشود.
چه زمانی استفاده نکنیم:
- برای ورودی تکخطی — از
Inputاستفاده کنید - برای محتوای Rich Text (bold، italic، لیست) — به ادیتور نیاز دارید
- برای ورودیهایی با حجم خیلی زیاد (مثل paste کردن JSON) — از کامپوننت مخصوص استفاده کنید
استفاده
import { Textarea } from '@parto-system-design/ui'<Textarea placeholder="متن خود را وارد کنید..." />زمین بازی
با تغییر تنظیمات زیر، ناحیه متن را به صورت زنده مشاهده کنید.
زمین بازی
تنظیمات
import { Textarea } from '@parto-system-design/ui'
<Textarea />با Label
import { Textarea, Label } from '@parto-system-design/ui'
;<div className="grid gap-2">
<Label htmlFor="message">پیام</Label>
<Textarea id="message" placeholder="پیام خود را بنویسید..." rows={4} />
</div>غیرفعال
<Textarea disabled placeholder="این فیلد غیرفعال است" />با خطا
<Textarea aria-invalid="true" placeholder="مقدار اجباری است" />حالتها و انواع
حالتهای مختلف
<div className="flex flex-col gap-4 max-w-sm" dir="rtl">
<Textarea placeholder="متن پیشفرض" />
<Textarea placeholder="غیرفعال" disabled />
<Textarea placeholder="فقط خواندنی" readOnly defaultValue="این متن فقط خواندنی است" />
<Textarea placeholder="با خطا" aria-invalid="true" />
</div>راهنمای استفاده
بکنید
- برای متنهای چندخطی مانند توضیحات، نظرات یا پیامها از Textarea استفاده کنید - مقدار
rowsرا متناسب با حجم مورد انتظار متن تنظیم کنید - همیشه ازLabelهمراه با Textarea استفاده کنید تا هدف فیلد مشخص باشد
نکنید
- برای ورودیهای تکخطی مانند نام یا ایمیل از Textarea استفاده نکنید — از
Inputاستفاده کنید - از Textarea برای محتوای Rich Text (bold، italic، لیست) استفاده نکنید — به ادیتور اختصاصی نیاز دارید - بدونplaceholderیاLabelاز Textarea استفاده نکنید
Props
دسترسیپذیری
- از
idوLabel[htmlFor]برای اتصال برچسب به فیلد استفاده کنید - در حالت خطا،
aria-invalid="true"را تنظیم کنید تا screen reader وضعیت را اعلام کند - از
aria-describedbyبرای اتصال پیام خطا یا راهنمایی استفاده کنید
تعامل با کیبورد
Tab: انتقال فوکوس به فیلد - متن چندخطی باEnterوارد میشود (Enter در Textarea خط جدید ایجاد میکند، نه submit فرم)