Rate评分
引入
在app.json或index.json中引入组件,默认为ES6版本
"usingComponents": {
"vtu-rate": "/miniprogram_npm/vtuweapp/rate/vtu-rate"
}
代码演示
基础用法
<vtu-rate value="{{value1}}" count="5" bind:change="bindChange"></vtu-rate>
Page({
data: {
value1: 3
},
bindChange: function(e) {
this.setData({
value1: e.detail.value
})
}
});
自定义图标
<vtu-rate value="{{value1}}" count="5" size="24px" icon="iconfont icon-xihuan" active-icon="icon-xihuanfill iconfont " bind:change="bindChange"></vtu-rate>
自定义颜色
<vtu-rate value="{{value1}}" count="5" size="24px" active-color="red" bind:change="bindChange"></vtu-rate>
自定义大小
<vtu-rate value="{{value1}}" count="5" size="16px" bind:change="bindChange"></vtu-rate>
自定义数量
<vtu-rate value="{{value1}}" count="8" size="24px" bind:change="bindChange"></vtu-rate>
异步处理
<vtu-rate value="{{value1}}" count="5" size="24px" async-change="true" bind:change="bindAsyncChange"></vtu-rate>
Page({
data: {
value1: 3
},
bindAsyncChange: function(e) {
let self = this
wx.showLoading({
title: '处理中...'
})
setTimeout(function() {
self.setData({
value1: e.detail.value
})
wx.hideLoading();
}, 2000)
}
});
禁用状态
<vtu-rate value="{{value1}}" count="5" size="24px" disabled></vtu-rate>
只读状态
<vtu-rate value="{{value1}}" count="5" size="24px" readonly></vtu-rate>
组件参数
Props
参数 | 说明 | 类型 | 默认值 | 必填 |
---|
value | 评分值 | Number | 0 | 否 |
size | 图标尺寸大小 | String | 20px | 否 |
count | 图标总数 | Number | 5 | 否 |
color | 图标颜色 | String | - | 否 |
active-color | 激活时图标颜色 | String | - | 否 |
icon | 图标 | String | 内置图标 | 否 |
activeIcon | 激活时图标 | String | - | 否 |
readonly | 是否只读 | Boolean | false | 否 |
disabled | 是否禁用 | Boolean | false | 否 |
asyncChange | 是否异步 | Boolean | false | 否 |
Events
方法名 | 说明 | 返回值 |
---|
bind:change | 评分选中时事件 | event.detail = {value: value}, index为当前选择评分数 |
外部样式类
外部样式类名 | 说明 |
---|
v-class | 组件外部样式类 |