Skip to content

Rate 评分

rate

规则

基础示例

js
const rule = {
    type: 'rate',
    title: '评分',
    field: 'rate',
    value: 5,
    props: {
        disabled: false,
    }
}

Props 配置示例

允许半选

js
const rule = {
    type: 'rate',
    title: '商品评分',
    field: 'rating',
    value: 4.5,
    props: {
        allowHalf: true,
        count: 5,
    }
}

自定义图标和颜色

js
const rule = {
    type: 'rate',
    title: '商品评分',
    field: 'rating',
    value: 4,
    props: {
        icon: 'like',
        voidIcon: 'like-o',
        color: '#ffd21e',
        voidColor: '#c8c9cc',
    }
}

可清空

js
const rule = {
    type: 'rate',
    title: '商品评分',
    field: 'rating',
    value: 0,
    props: {
        clearable: true,
        allowHalf: true,
    }
}

自定义总数

js
const rule = {
    type: 'rate',
    title: '推荐级别',
    field: 'level',
    value: 3,
    props: {
        count: 10,
    }
}

Events 事件示例

监听评分变化

js
const rule = {
    type: 'rate',
    title: '商品评分',
    field: 'rating',
    value: 0,
    props: {
        allowHalf: true,
    },
    on: {
        change: (currentValue) => {
            console.log('评分改变:', currentValue);
        },
    },
}

评分后显示反馈

js
const rule = {
    type: 'rate',
    title: '商品评分',
    field: 'rating',
    value: 0,
    props: {
        count: 5,
    },
    inject: true,
    on: {
        change: ($inject, currentValue) => {
            // 根据评分自动填充评价内容
            const comments = {
                1: '商品质量很差,不推荐购买',
                2: '商品一般,有待改进',
                3: '商品还可以,基本满意',
                4: '商品不错,值得推荐',
                5: '商品非常好,强烈推荐',
            };
            if (currentValue >= 1 && currentValue <= 5) {
                $inject.api.setValue('comment', comments[Math.ceil(currentValue)]);
            }
        },
    },
}

完整配置项:Vant_Rate

value :Number

Props

参数说明类型默认值
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是否允许再次点击后清除booleanfalse
readonly是否为只读状态,只读状态下无法修改评分booleanfalse
disabled是否禁用评分booleanfalse
touchable是否可以通过滑动手势选择评分booleantrue

Events

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

FormCreate 是一个开源项目,基于 MIT 许可证发布,欢迎个人和企业用户免费使用