Rate 评分

介绍

用于对事物进行评级操作。

引入

通过以下方式来全局注册组件,更多注册方式请参考组件注册

  1. import { createApp } from 'vue';
  2. import { Rate } from 'vant';
  3. const app = createApp();
  4. app.use(Rate);

代码演示

基础用法

通过 v-model 来绑定当前评分值。

  1. <van-rate v-model="value" />
  1. import { ref } from 'vue';
  2. export default {
  3. setup() {
  4. const value = ref(3);
  5. return { value };
  6. },
  7. };

自定义图标

通过 icon 属性设置选中时的图标,void-icon 属性设置未选中时的图标。

  1. <van-rate v-model="value" icon="like" void-icon="like-o" />

自定义样式

通过 size 属性设置图标大小,color 属性设置选中时的颜色,void-color 设置未选中时的颜色。

  1. <van-rate
  2. v-model="value"
  3. :size="25"
  4. color="#ffd21e"
  5. void-icon="star"
  6. void-color="#eee"
  7. />

半星

设置 allow-half 属性后可以选中半星。

  1. <van-rate v-model="value" allow-half />
  1. import { ref } from 'vue';
  2. export default {
  3. setup() {
  4. const value = ref(2.5);
  5. return { value };
  6. },
  7. };

自定义数量

通过 count 属性设置评分总数。

  1. <van-rate v-model="value" :count="6" />

禁用状态

通过 disabled 属性来禁用评分。

  1. <van-rate v-model="value" disabled />

只读状态

通过 readonly 属性将评分设置为只读状态。

  1. <van-rate v-model="value" readonly />

只读状态显示小数

设置 readonlyallow-half 属性后,Rate 组件可以展示任意小数结果。

  1. <van-rate v-model="value" readonly allow-half />
  1. import { ref } from 'vue';
  2. export default {
  3. setup() {
  4. const value = ref(3.3);
  5. return { value };
  6. },
  7. };

监听 change 事件

评分变化时,会触发 change 事件。

  1. <van-rate v-model="value" @change="onChange" />
  1. import { ref } from 'vue';
  2. import { Toast } from 'vant';
  3. export default {
  4. setup() {
  5. const value = ref(3);
  6. const onChange = (value) => Toast('当前值:' + value);
  7. return {
  8. value,
  9. onChange,
  10. };
  11. },
  12. };

API

Props

参数说明类型默认值
v-model当前分值number-
count图标总数number | string5
size图标大小,默认单位为pxnumber | string20px
gutter图标间距,默认单位为pxnumber | string4px
color选中时的颜色string#ee0a24
void-color未选中时的颜色string#c8c9cc
disabled-color禁用时的颜色string#c8c9cc
icon选中时的图标名称或图片链接,等同于 Icon 组件的 name 属性stringstar
void-icon未选中时的图标名称或图片链接,等同于 Icon 组件的 name 属性stringstar-o
icon-prefix图标类名前缀,等同于 Icon 组件的 class-prefix 属性stringvan-icon
allow-half是否允许半选booleanfalse
readonly是否为只读状态,只读状态下无法修改评分booleanfalse
disabled是否禁用评分booleanfalse
touchable是否可以通过滑动手势选择评分booleantrue

Events

事件名说明回调参数
change当前分值变化时触发的事件currentValue: number

类型定义

组件导出以下类型定义:

  1. import type { RateProps } from 'vant';

主题定制

样式变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件

名称默认值描述
—van-rate-icon-size20px-
—van-rate-icon-guttervar(—van-padding-base)-
—van-rate-icon-void-colorvar(—van-gray-5)-
—van-rate-icon-full-colorvar(—van-danger-color)-
—van-rate-icon-disabled-colorvar(—van-gray-5)-

Rate 评分 - 图1