Skip to content

Rate 评分

用于评分场景,支持整星和半星评分。采用 赛博朋克风格设计,霓虹蓝粉双色交互。

基础用法

最简单的用法。

vue
<template>
  <ExRate v-model="value" />
</template>

<script setup>
import { ref } from 'vue';
const value = ref(0);
</script>

半星评分

设置 allow-half 属性可以允许半星评分。

vue
<template>
  <ExRate v-model="value" allow-half />
</template>

显示分数

设置 show-score 属性可以在右侧显示当前分数。

4
vue
<template>
  <ExRate v-model="value" show-score />
</template>

不同尺寸

提供三种尺寸:smallmedium(默认)、large

3
3
3
vue
<template>
  <ExRate v-model="value" size="small" show-score />
  <ExRate v-model="value" size="medium" show-score />
  <ExRate v-model="value" size="large" show-score />
</template>

自定义图标

通过 icon-voidicon-active 插槽可以自定义图标。

4
4
vue
<template>
  <ExRate v-model="value" show-score>
    <template #icon-void>
      <ex-icon color="#4a5568" src="https://api.iconify.design/ri/heart-line.svg" />
    </template>
    <template #icon-active>
      <ex-icon color="#00f0ff" src="https://api.iconify.design/ri/heart-fill.svg" />
    </template>
  </ExRate>
</template>

API

Props

属性说明类型默认值
modelValue / v-model绑定值number0
max最大分值number5
disabled是否禁用booleanfalse
readonly是否只读booleanfalse
allowHalf是否允许半选booleanfalse
showScore是否显示分数booleanfalse
showText是否显示文字booleanfalse
scoreTemplate分数模板string'{value}'
size尺寸'small' | 'medium' | 'large''medium'
color图标颜色string'#00f0ff'
voidColor未选中图标颜色string'#4a5568'
texts显示文字数组string[][]

Events

事件名说明回调参数
update:modelValue值改变时触发(value: number) => void
change值改变时触发(value: number) => void

Slots

插槽名说明参数
icon-void未选中图标{ index: number, color: string }
icon-active选中图标{ index: number, color: string }

Methods

方法名说明参数
setCurrentValue设置当前值(value: number) => void
resetCurrentValue重置评分() => void