# تقييم Rate

تقييم بالنجوم. يدعم max كحد أقصى لعدد النجوم، وallowHalf لنصف نجمة، وcharacter لحرف مخصّص، والقراءة فقط والتعطيل، وshowScore لنص الدرجة (قالب scoreTemplate).

تقييم
<template>
  <div class="demo-col" style="gap: 22px">
    <div>
      <LhRate v-model="score" :max="5" show-score score-template="{n} نجمة" />
      <p class="demo-note">القيمة المتحكَّم بها: {{ score }} (showScore + scoreTemplate="{n} نجمة")</p>
    </div>
    <div>
      <LhRate v-model="half" :max="5" allow-half />
      <p class="demo-note">allowHalf يسمح بنصف نجمة: {{ half }}</p>
    </div>
    <div>
      <LhRate v-model="custom" :max="5" character="◈" />
      <p class="demo-note">character="◈" حرف مخصّص</p>
    </div>
    <div>
      <LhRate :model-value="3.5" :max="5" readonly />
      <p class="demo-note">readonly للقراءة فقط (role="img"، يقرأ قارئ الشاشة نص النجوم)</p>
    </div>
    <div>
      <LhRate v-model="score" :max="5" disabled />
      <p class="demo-note">disabled معطّل</p>
    </div>
  </div>
</template>

<script>
export default {
  data: () => ({ score: 3, half: 2.5, custom: 4 }),
}
</script>

# Props

خاصية الوصف النوع الافتراضي
v-model التقييم الحالي (model: modelValue/input) number —
max الحد الأقصى لعدد النجوم number 5
allowHalf السماح بنصف نجمة boolean false
readonly للقراءة فقط (يخرج نص النجوم لقارئ الشاشة) boolean false
disabled تعطيل boolean false
character حرف مخصّص (★ افتراضياً) string '★'
showScore إظهار نص الدرجة boolean false
scoreTemplate قالب الدرجة (عنصر {n} النائب) string '{n}'
sx خصائص تخطيط سريعة عبر sx — —

# Events

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

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

في الحالة التفاعلية يكون role="radiogroup"، وكل نجمة role="radio" + aria-checked؛ وفي حالة readonly يكون role="img" + aria-label يحمل نص النجوم؛ ويتم اختيار النجوم بلوحة المفاتيح عبر ←/→.

Copyright © 2024-2026 FengMo WenXue