跳转到内容

SusRating

SusRating

星形(或自定义图标)评分 —— 整数或半数递增。

SusKit · 原子(商业)

在 Playground 中打开

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

插槽

没有插槽。

事件

名称字段载荷
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 会在指针下预览数值。