حقل رقمي

NumberInput

حقل رقمي في React بأزرار زيادة ونقصان، مع min وmax وstep ودعم الكسور. يحمل رقمًا أو null، ويربط التسمية وحالات الخطأ، ويبقى من اليسار لليمين في العربية.

يحمل NumberInput قيمة number | null. يحد min/max القيمة، ويضبط step مقدار الزيادة، ويزيل hideControls الزرين.

متى تستخدمه

استخدم NumberInput للكميات والأعداد التي قد يعدّلها المستخدم درجة درجة: عدد التابعين، أو العناصر، أو السنوات. تقيّد min وmax القيمة، ويحدّد step مقدار كل زيادة، وهذا يناسب الرسوم والمبالغ العشرية.

استخدم TextInput مع inputMode="numeric" للمعرّفات مثل رقم الهوية أو الجوال، فهي أرقام تُكتب لا قيم تُحسب. فعّل hideControls حين تزيد الأزرار الضوضاء في النماذج الكثيفة.

أمثلة

الكمية

محدود مع نص مساعد

خطوة عشرية وأزرار خفيّة

خطأ وبلا أزرار زيادة

الخصائص

الخصائص التي يعرّفها NumberInput. سمات العنصر الأصلي تمرّ كما هي.

الخاصيةالنوعالافتراضيالوصف
size"md" | "lg"
variant"default" | "filled-lighter" | "filled-darker"
stepperVariant"solid" | "subtle"
valuenumberControlled value. null represents an empty field.
defaultValuenumberUncontrolled initial value.
onValueChange(value: number | null) => voidFires with the parsed value, or null when the field is cleared.
minnumberLower bound. Clamped on blur and at the stepper buttons.
maxnumberUpper bound. Clamped on blur and at the stepper buttons.
stepnumberStepper / ArrowUp-Down increment. Defaults to 1.
hideControlsbooleanHide the + / − buttons (keyboard + typing only).
decrementLabelstringAccessible label for the decrement button. Defaults to 'Decrease'.
incrementLabelstringAccessible label for the increment button. Defaults to 'Increase'.
labelreact.ReactNodeVisible field label, auto-associated to the input via htmlFor/id.
helperTextreact.ReactNodeHint shown below the field. Hidden while an error message is showing.
errorMessagereact.ReactNodeMessage shown below the field when error is true.
errorbooleanMarks the field invalid: sets aria-invalid and error styling.

إمكانية الوصول

تُربط التسمية والنص المساعد ورسالة الخطأ بالطريقة نفسها في TextInput. يغيّر مفتاحا ArrowUp وArrowDown القيمة بمقدار step، ولأزرار الزيادة والنقصان أسماء متاحة.

تُقيَّد القيم بدل رفضها حتى لا يفقد المستخدم ما كتبه. تبقى الأرقام من اليسار إلى اليمين داخل التخطيطات العربية لتُقرأ بشكل صحيح.