阅读(4304) (0)

Vant4 Rate 评分

2022-12-07 17:47:56 更新

介绍

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

引入

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

import { createApp } from 'vue';
import { Rate } from 'vant';

const app = createApp();
app.use(Rate);

代码演示

基础用法

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

<van-rate v-model="value" />
import { ref } from 'vue';

export default {
  setup() {
    const value = ref(3);
    return { value };
  },
};

自定义图标

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

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

自定义样式

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

<van-rate
  v-model="value"
  :size="25"
  color="#ffd21e"
  void-icon="star"
  void-color="#eee"
/>

半星

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

<van-rate v-model="value" allow-half />
import { ref } from 'vue';

export default {
  setup() {
    const value = ref(2.5);
    return { value };
  },
};

自定义数量

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

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

禁用状态

通过 ​disabled​ 属性来禁用评分。

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

只读状态

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

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

只读状态显示小数

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

<van-rate v-model="value" readonly allow-half />
import { ref } from 'vue';

export default {
  setup() {
    const value = ref(3.3);
    return { value };
  },
};

监听 change 事件

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

<van-rate v-model="value" @change="onChange" />
import { ref } from 'vue';
import { showToast } from 'vant';

export default {
  setup() {
    const value = ref(3);
    const onChange = (value) => showToast('当前值:' + value);
    return {
      value,
      onChange,
    };
  },
};

API

Props

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

Events

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

类型定义

组件导出以下类型定义:

import type { RateProps } from 'vant';

主题定制

样式变量

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

名称 默认值 描述
--van-rate-icon-size 20px -
--van-rate-icon-gutter var(--van-padding-base) -
--van-rate-icon-void-color var(--van-gray-5) -
--van-rate-icon-full-color var(--van-danger-color) -
--van-rate-icon-disabled-color var(--van-gray-5) -