# InputNumber (عدّاد)

حقل إدخال رقمي. يدعم حدّي min/max، والخطو بقيمة step مع قيد مضاعفات stepStrictly، وعدد المنازل العشرية precision، وإظهار زرّي الجمع والطرح بثلاثة أحجام؛ كما يقوم اختصارا لوحة المفاتيح ↑/↓ بالخطو أيضاً.

العدّاد
<template>
  <div class="demo-col" style="gap: 20px">
    <div class="demo-row" style="gap: 16px; flex-wrap: wrap; align-items: center">
      <LhInputNumber v-model="count" :min="1" :max="99" :step="1" placeholder="الكمية" name="count" />
      <span class="demo-note">min=1 max=99، القيمة المتحكَّم بها: {{ count }}</span>
    </div>
    <div class="demo-row" style="gap: 16px; flex-wrap: wrap; align-items: center">
      <LhInputNumber v-model="price" :step="0.5" :precision="2" :min="0" />
      <span class="demo-note">step=0.5 precision=2: {{ price }}</span>
    </div>
    <div class="demo-row" style="gap: 16px; flex-wrap: wrap; align-items: center">
      <LhInputNumber v-model="strict" :step="10" step-strictly />
      <span class="demo-note">stepStrictly: عند فقدان الحقل للتركيز تُضبَّط القيمة على مضاعف 10</span>
    </div>
    <div class="demo-row" style="gap: 16px; flex-wrap: wrap; align-items: center">
      <LhInputNumber v-model="noControls" :controls="false" placeholder="بدون خطّوة" />
      <LhInputNumber v-model="disabledVal" disabled />
    </div>
    <div class="demo-row" style="gap: 16px; flex-wrap: wrap; align-items: center">
      <LhInputNumber v-model="sized" size="small" />
      <LhInputNumber v-model="sized" size="medium" />
      <LhInputNumber v-model="sized" size="large" />
    </div>
    <p class="demo-note">controls=false يخفي زرّي الجمع والطرح؛ وعند تركيز الحقل يمكن أيضاً الخطو بمفتاحَي الاتجاه (↑/↓).</p>
  </div>
</template>

<script>
export default {
  data: () => ({
    count: 6,
    price: 12.5,
    strict: 20,
    noControls: undefined,
    disabledVal: 3,
    sized: 8,
  }),
}
</script>

# Props

خاصية الوصف النوع الافتراضي
v-model القيمة المرتبطة (model: modelValue/input) number \| null null
min الحد الأدنى (إذا نقصت القيمة تُضبَّط على min) number —
max الحد الأقصى (إذا زادت القيمة تُضبَّط على max) number —
step قيمة الخطو number 1
stepStrictly يجب أن تكون القيمة المدخلة من مضاعفات step (تُضبَّط عند فقدان التركيز) boolean false
precision عدد المنازل العشرية (يُقرَّب للقربى عند تجاوزه) number —
controls إظهار زرّي الجمع والطرح boolean true
size الحجم 'small' \| 'medium' \| 'large' 'medium'
disabled تعطيل boolean false
placeholder نص العنصر النائب string —
name name أصلي string —
sx خصائص تخطيط سريعة عبر sx — —

# Events

حدث الوصف معامل الاستدعاء
input حدث v-model (val)
change يُطلق عند تغيّر القيمة (val)

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

زرّا الجمع والطرح هما button أصليان؛ وعند تركيز الحقل يعمل الخطو بـ ↑/↓؛ وإذا وُضع داخل LhFormItem وفشل التحقق يُضاف aria-invalid.

Copyright © 2024-2026 FengMo WenXue