# Оценка
Звёздный рейтинг. Поддержка максимума звёзд 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