# شريط تمرير Slider

إدخال بالتمرير. يدعم min/max/step، وrange بشريطين، وعلامات marks، وإظهار القيمة عبر showInput، وثلاثة أحجام، والتعطيل؛ ويدعم السحب بالفأرة واللمس.

شريط التمرير
<template>
  <div class="demo-col" style="max-width: 520px; gap: 26px">
    <div>
      <LhSlider v-model="single" :min="0" :max="100" :step="5" show-input />
      <p class="demo-note">min=0 max=100 step=5 showInput: {{ single }}</p>
    </div>
    <div>
      <LhSlider v-model="ranged" range :min="10" :max="90" :step="10" />
      <p class="demo-note">range بشريطين: {{ JSON.stringify(ranged) }}</p>
    </div>
    <div>
      <LhSlider v-model="marked" :min="0" :max="100" :marks="marks" />
      <p class="demo-note">علامات marks: {{ marked }}</p>
    </div>
    <div>
      <LhSlider v-model="single" size="small" />
      <LhSlider v-model="single" disabled />
      <p class="demo-note">size="small" و disabled</p>
    </div>
  </div>
</template>

<script>
export default {
  data: () => ({
    single: 35,
    ranged: [20, 60],
    marked: 40,
    marks: { 0: 'بدء الفرشاة', 50: 'تحريك الفرشاة', 100: 'إنهاء الفرشاة' },
  }),
}
</script>

# Props

خاصية الوصف النوع الافتراضي
v-model القيمة المرتبطة؛ في وضع range تكون [start, end] (model: modelValue/input) number \| [number, number] \| null —
min الحد الأدنى number 0
max الحد الأقصى number 100
step قيمة الخطو number 1
range وضع الشريطين boolean false
marks علامات التدريج { value: label } Record<number, string> —
showInput إظهار نص القيمة boolean false
size الحجم (ارتفاع المسار) 'small' \| 'medium' \| 'large' 'medium'
disabled تعطيل boolean false
sx خصائص تخطيط سريعة عبر sx — —

# Events

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

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

مقبض الشريط role="slider" + aria-valuemin/max/now؛ وعند وضعه داخل LhFormItem وفشل التحقق يُضاف aria-invalid.

Copyright © 2024-2026 FengMo WenXue