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>

自定义颜色 ​

通过 color 和 voidColor 属性自定义颜色:

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 属性调整最大评分数
  • 当 allowHalf 为 true 时,支持 0.5 的步进
  • 可以通过 CSS 变量或样式穿透进一步自定义组件外观
  • 建议在表单中使用时配合表单验证规则