К содержимому

SusRating

SusRating

Рейтинг звёздами (или кастомной иконкой) — целые или половинные шаги.

Пакет

SusKit · Атомы (коммерческий)

Открыть в песочнице

SusKit · Atoms

Свойства

ИмяТипПо умолчанию
ValueProp<float>0v-model
MaxProp<int>5v-model
ColorProp<string>"warning"v-model
EmptyIconProp<string>"star"v-model
FullIconProp<string>"star-fill"v-model
HalfIconProp<string>"star-half"v-model
HalfIncrementsProp<bool>falsev-model
HoverProp<bool>falsev-model
ReadonlyProp<bool>falsev-model
SizeProp<string>"md"v-model
ClearableProp<bool>falsev-model

Слоты

Слотов нет.

События

ИмяПолеPayload
ValueChangedOnValueChangedfloat

Хуки стиля

Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:

  • sus-rating
  • sus-rating__star
  • sus-rating__star-empty
  • sus-rating__star-fill-clip
  • sus-rating__star-full
  • sus-rating--danger
  • sus-rating--hover
  • sus-rating--info
  • sus-rating--primary
  • sus-rating--readonly
  • sus-rating--secondary
  • sus-rating--size-lg
  • sus-rating--size-sm
  • sus-rating--size-xl
  • sus-rating--success
  • sus-rating--warning

Использование

xml
<template>
  <sus:SusRating :Value="Score.Value"
                 Max="5"
                 Color="warning"
                 HalfIncrements="true"
                 Hover="true"
                 @value-changed="OnScore" />
</template>

<script>
public Prop<float> Score = new(3.5f);
void OnScore(float value) { /* … */ }
</script>
csharp
var rating = new SusRating();
rating.Value.Value = 4f;
rating.Max.Value = 5;
rating.Color.Value = "warning";
rating.Clearable.Value = true;
rating.OnValueChanged += value => { /* … */ };

Заметки

  • Переопределите иконки через EmptyIcon / FullIcon / HalfIcon (имена Phosphor).
  • Readonly — только отображение оценки; Hover показывает предпросмотр значения под указателем.