代码演示

如何引入

jsx
import { Rating } from '@kousum/semi-ui-vue';

基本用法

最简单的用法,支持两种尺寸 defaultsmall

支持传入 number 类型自定义尺寸。具体可以参考自定义

demoApp.vue
demo.tsx
tsconfig.json
Import Map
Show Error
Auto Save

半星

通过设置 allowHalf 属性可以支持选择半星。 allowHalf 属性支持展示除0.5以外的小数。

demoApp.vue
demo.tsx
tsconfig.json
Import Map
Show Error
Auto Save

只读

通过设置 disabled 属性将无法进行交互。

demoApp.vue
demo.tsx
tsconfig.json
Import Map
Show Error
Auto Save

点击清除

通过设置 allowClear 属性允许再次点击时清除数值,默认为 true

demoApp.vue
demo.tsx
tsconfig.json
Import Map
Show Error
Auto Save

文案展现

给评分组件加上文案展示。

demoApp.vue
demo.tsx
tsconfig.json
Import Map
Show Error
Auto Save

自定义

自定义评分字符、个数及尺寸。
自定义尺寸需要配合自定义的字符才能生效。

demoApp.vue
demo.tsx
tsconfig.json
Import Map
Show Error
Auto Save

API参考

属性说明类型默认值
allowClear是否允许再次点击后清除booleantrue
allowHalf是否允许半选booleanfalse
autoFocus自动获取焦点booleanfalse
character自定义字符ReactNode<IconStar size="extra-large"/>
className自定义样式类名string-
countstar 总数number5
defaultValue默认值number0
disabled只读,无法进行交互booleanfalse
preventScroll指示浏览器是否应滚动文档以显示新聚焦的元素,作用于组件内的 focus 方法boolean
size尺寸, defaultsmallv >= 0.35.0 后支持传入 number 类型自定义尺寸string | numberdefault
style自定义样式对象object-
tooltips自定义每项的提示信息string[]-
value当前受控值number-
onBlur失去焦点时的回调function()-
onChange选择时的回调function(value: number)-
onFocus获取焦点时的回调function()-
onHoverChange鼠标经过时数值变化的回调function(value: number)-
onKeyDown按键回调function(e: event)-

Accessibility

ARIA

  • Rating 具有 aria-checked 表示当前是否选中,aria-posinset 表示在列表的位置,aria-setsize 表示列表的长度。
  • Semi 支持自定义 Rating 的语义:
    • 可以使用 aria-label 来定制 Rating 的语义化;
    • 若用户传入的 character 类型为 string,将使用这个 string 来做 Rating 的语义化;
    • aria-label的优先级高于string的character

键盘和焦点

  • Rating 的初始焦点设置:
    • 若 Rating 有选择项时,初始焦点应当设置为最后一个选择项时(如:有 3颗🌟被点亮,则初始焦点设置在第三颗被点亮的🌟上);
    • 若 Rating 没有选择项时,初始焦点应当为整个 Rating。
  • 一个 Rating 组上,可以通过 右箭头上箭头 选中当前焦点的下一个焦点项,左箭头下箭头 选中当前焦点的上一个焦点项;
    • 用户设置了 allowHalf 属性,按方向键只选中或取消选中半颗星;
  • disabled的 Rating 无法被获取到焦点。

设计变量

变量默认值用法
$color-rating-icon-defaultrgba(var(--semi-yellow-5), 1)评分图标按钮颜色 - 已填
$color-rating-bg-defaultvar(--semi-color-fill-0)评分图标按钮颜色 - 未填
$color-rating-outline-focusvar(--semi-color-primary-light-active)聚焦轮廓颜色
显示第 1 条-第 3 条,共 3 条
  • 1