Skip to content

H5预览

APP下载

Rate 评分

用于对事物进行评级操作的组件,支持星级评分、自定义图标、半星评分等功能。

参数

参数说明类型可选值默认值
pt样式穿透配置PassThrough--
modelValue当前评分值number-0
max最大评分数(星级总数)number-5
disabled是否禁用boolean-false
allowHalf是否允许半星评分boolean-false
showScore是否显示当前分数boolean-false
size单个星级的尺寸大小(px)number-40
icon激活状态的图标名称string-"star-fill"
voidIcon未激活状态的图标名称string-"star-fill"
color激活状态的颜色string-"primary"
voidColor未激活状态的颜色string-"#dddddd"

事件

事件名称说明回调参数
change绑定值变化时触发的事件(value: number) => void

PassThrough

样式穿透配置对象,用于深度自定义组件内部元素的样式。

参数说明类型
className组件根元素样式string
item星级项的配置PassThroughProps
score分数显示配置PassThroughProps
icon图标组件配置ClIconProps

示例

基本用法

最简单的评分组件使用方式:

html
<cl-rate v-model="score"></cl-rate>

<script lang="ts" setup>
  import { ref } from "vue";
  const score = ref<number>(2);
</script>

自定义尺寸

通过 size 属性设置星级的大小:

html
<cl-rate v-model="score" :size="50"></cl-rate>

<script lang="ts" setup>
  import { ref } from "vue";
  const score = ref<number>(2);
</script>

半星评分

开启 allowHalf 属性支持半星评分,同时可以显示具体分数:

html
<cl-rate v-model="score" allow-half show-score></cl-rate>

<script lang="ts" setup>
  import { ref } from "vue";
  const score = ref<number>(2.5);
</script>

自定义图标

使用不同的图标来表示评分:

html
<cl-rate v-model="score" icon="heart-fill" void-icon="heart-line"></cl-rate>

<script lang="ts" setup>
  import { ref } from "vue";
  const score = ref<number>(3);
</script>

禁用状态

设置 disabled 属性禁用用户交互:

html
<cl-rate v-model="score" disabled></cl-rate>

<script lang="ts" setup>
  import { ref } from "vue";
  const score = ref<number>(4);
</script>

自定义颜色

通过 colorvoidColor 属性自定义颜色:

html
<cl-rate v-model="score" color="#ff6b35" void-color="#f0f0f0"></cl-rate>

<script lang="ts" setup>
  import { ref } from "vue";
  const score = ref<number>(3);
</script>

使用说明

  • 默认支持 1-5 星评分,可通过 max 属性调整最大评分数
  • allowHalftrue 时,支持 0.5 的步进
  • 可以通过 CSS 变量或样式穿透进一步自定义组件外观
  • 建议在表单中使用时配合表单验证规则