Компонент QRating библиотеки Quasar предназначен для отображения системы рейтингов с возможностью интерактивного выбора оценки пользователем. Он является гибким инструментом для визуализации оценок и поддерживает различные типы иконок, кастомные размеры, цвета и события.
Подключение и использование:
v-model — связывает текущую выбранную оценку с
переменной.max — максимальное количество элементов рейтинга.color — цвет выделенных элементов.icon — иконка для отображения рейтинга (например,
star, favorite, thumb_up).size — размер каждой иконки рейтинга.Количество звезд или других иконок регулируется свойством max. Можно использовать любое целое число, задающее количество элементов, отображаемых пользователю.
Если max не указан, по умолчанию используется значение
5.
QRating поддерживает дробные значения, что позволяет отображать половинные или четвертные оценки.
fraction — число, определяющее, на сколько частей можно
делить одну иконку. Например, fraction=2 позволяет выбирать
половинные значения.При использовании дробей необходимо корректно обрабатывать значения, чтобы визуально отображалась частичная заполненность иконок.
Иконки в QRating можно менять не только на стандартные Material Icons, но и использовать кастомные компоненты или SVG.
no-reset — предотвращает сброс рейтинга при повторном
клике на уже выбранную иконку.icon — можно задавать различные иконки для выделенных
(icon) и невыделенных элементов
(empty-icon):
QRating поддерживает следующие события:
@input — срабатывает при изменении рейтинга.@hover — при наведении на элемент рейтинга, возвращает
индекс подсвеченной иконки.
Эти события позволяют динамически реагировать на действия пользователя и интегрировать компонент с системой отзывов или других интерактивных элементов интерфейса.
QRating позволяет изменять внешний вид иконок через следующие свойства:
color — основной цвет выделенной части.text-color — цвет текста внутри элемента, если
используется кастомный слот.size — размер иконки.class — добавление пользовательских классов CSS для
дополнительного стайлинга.
Можно также использовать слоты для полной кастомизации каждой ячейки рейтинга:
{{ scope.index + 1 }}
scope.selected — булевое значение, указывающее,
выделена ли текущая ячейка.scope.index — индекс текущей иконки.readonly — делает рейтинг только для отображения.disable — полностью отключает интерактивность и
визуально деактивирует элементы.
readonly позволяет отображать текущую оценку без
возможности её изменения.disable визуально делает элементы неактивными и
блокирует любые события.Компонент QRating поддерживает клавиатурное управление и фокус для пользователей с ограниченными возможностями:
← и → изменяют текущую
оценку.QRating может использоваться в составе форм Quasar и Vue:
Это позволяет использовать QRating для сбора оценок и интеграции с валидацией форм, отправкой на сервер или хранением в локальном состоянии приложения.