Rate

Install

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

Vue.use(Rate);

Usage

Basic Usage

<van-rate v-model="value" />
export default {
  data() {
    return {
      value: 3,
    };
  },
};

Custom Icon

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

Custom Style

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

Half Star

<van-rate v-model="value" allow-half void-icon="star" void-color="#eee" />
export default {
  data() {
    return {
      value: 2.5,
    };
  },
};

Custom Count

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

Disabled

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

Readonly

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

Change Event

<van-rate v-model="value" @change="onChange" />
export default {
  method: {
    onChange(value) {
      Toast('current value:' + value);
    },
  },
};

API

Props

Attribute Description Type Default
v-model Current rate number -
count Count number | string 5
size Icon size number | string 20px
gutter Icon gutter number | string 4px
color Selected color string #ee0a24
void-color Void color string #c8c9cc
disabled-color Disabled color string #c8c9cc
icon Selected icon string star
void-icon Void icon string star-o
icon-prefix v2.5.3 Icon className prefix string van-icon
allow-half Whether to allow half star boolean false
readonly Whether to be readonly boolean false
disabled Whether to disable rate boolean false
touchable Whether to allow select rate by touch gesture boolean true

Events

Event Description Parameters
change Emitted when rate changed current rate

Less Variables

How to use: Custom Theme.

Name Default Value Description
@rate-icon-size 20px -
@rate-icon-gutter @padding-base -
@rate-icon-void-color @gray-5 -
@rate-icon-full-color @red -
@rate-icon-disabled-color @gray-5 -