Skip to content

Rate 评分

介绍

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

引入

通过以下方式来引入组件。

js
import { createApp } from 'vue';
import { Rate } from '@szhn/dh-design-mobile';

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

代码演示

基础用法

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

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

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

自定义图标

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

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

自定义样式

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

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

半星

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

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

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

自定义数量

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

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

可清空

clearable 属性设置为 true,再次点击相同的值时,可以将值重置为 0

html
<van-rate v-model="value" clearable />

禁用状态

通过 disabled 属性来禁用评分。

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

只读状态

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

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

只读状态显示小数

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

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

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

监听 change 事件

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

html
<van-rate v-model="value" @change="onChange" />
javascript
import { ref } from 'vue';
import { showToast } from '@szhn/dh-design-mobile';

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

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
clearable v4.6.0是否允许再次点击后清除booleanfalse
readonly是否为只读状态,只读状态下无法修改评分booleanfalse
disabled是否禁用评分booleanfalse
touchable是否可以通过滑动手势选择评分booleantrue

Events

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

类型定义

组件导出以下类型定义:

ts
import type { RateProps } from '@szhn/dh-design-mobile';

主题定制

样式变量

组件提供了下列 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)-