Rate 组件常用于对事物评级使用,如商品的质量、用户对服务的满意度等各种评级功能实现,都离不开Rate组件的使用,该组件可以自定义显示的图标、数量和样式,还能显示半星的评分效果,当用户点击图标时,可以获取到最后的评分值。
Rate组件常用的属性如下表11-7所示。
接下来通过一个完整的案例来演示使用Rate组件实现的效果。
实例11-5 Rate组件
1. 功能描述
创建一个页面,添加多个van-rate组件,分别用于正常显示星状图标、自定义爱心图标、半星图标和自定义数量的图标。
2. 实现代码
在项目的components 文件夹中,添加一个名为“Rate”的.vue文件,该文件的保存路径是“components/ch11/form/”,在文件中加入如清单11-5所示代码。
代码清单11-5 Rate.vue代码
<template>
<h3>Rate 组件</h3>
<div class="row">
<p>基础用法</p>
<van-rate v-model="value" />
</div>
<div class="row">
<p>自定义图标</p>
<van-rate v-model="value" icon="like"
void-icon="like-o" />
</div>
<div class="row">
<p>半星</p>
<van-rate v-model="value2" allow-half />
</div>
<div class="row">
<p>自定义数量</p>
<van-rate v-model="value" :count="6" />
</div>
</template>
<script>
export default {
data() {
return {
value: 3,
value2: 2.5
}
}
}
</script>
<style scoped>
.row {
margin: 10px 0;
padding: 10px 0;
border-bottom: solid 1px #eee;
}
</style>
3. 页面效果
保存代码后,页面在Chrome浏览器下执行的页面效果如图11-7所示。
4. 源码分析
van-rate组件不仅可以显示各种状态和数量的评分,还可以绑定组件的change事件,当点评值发生变化后,触发该事件,在该事件中获取到currentValue值,即当前点评的最新值,可以将该值提交给相应接口,实现评分数据的保存功能。