前端Vue自定义精美商品订单星级评分组件 星级评分 爱心评分

358 阅读4分钟

介绍:

在前端开发中,经常需要使用到星级评分组件来实现用户对商品、服务或其他事物的评价功能。本篇博客将向大家介绍如何使用基于Vue框架的星级评分组件来实现爱心评分效果。 效果图如下:

cc-starEvaluate

使用方法


<!-- stars:星级数据 @click:点击事件 -->

<cc-starEvaluate :stars="stars" @click="setStar"></cc-starEvaluate>

<!-- 设置数据 默认五星 -->

stars: [{

id: 1,

types: true,

},

{

id: 2,

types: true,

},

{

id: 3,

types: true,

},

{

id: 4,

types: true,

},

{

id: 5,

types: true,

},

],

HTML代码实现部分


<template>

<view>

<view class="evaluate">

<view class="Rate">

<p>整体评价</p>

<!-- stars:星级数据 @click:点击事件 -->

<cc-starEvaluate :stars="stars" @click="setStar"></cc-starEvaluate>

</view>

<view class="Rate">

<p>物流评价</p>

<!-- stars:星级数据 @click:点击事件 -->

<cc-starEvaluate :stars="starsTwo" @click="setStarTwo"></cc-starEvaluate>

</view>

</view>

</view>

</template>

<script>

export default {

data() {

return {

// 默认五星

stars: [{

id: 1,

types: true,

},

{

id: 2,

types: true,

},

{

id: 3,

types: true,

},

{

id: 4,

types: true,

},

{

id: 5,

types: true,

},

],

// 默认0星

starsTwo: [{

id: 1,

types: false,

},

{

id: 2,

types: false,

},

{

id: 3,

types: false,

},

{

id: 4,

types: false,

},

{

id: 5,

types: false,

},

],

};

},

onLoad(options) {

},

methods: {

// 总体评价

setStar(value) {

console.log("stars = " + value);

uni.showModal({

title:'点击评价',

content:'点击评价 = ' + value + '星'

})

},

// 物流评价

setStarTwo(value) {

console.log("stars = " + value);

uni.showModal({

title:'点击评价',

content:'点击评价 = ' + value + ' 星'

})

},

}

};

</script>

<style lang="scss" scoped>

page {

background-color: #F8F8F8;

}

.evaluate {

margin: 0 4%;

background-color: #FFFFFF;

box-shadow: 0upx 0upx 10upx #DDDDDD;

border-radius: 8upx;

position: relative;

top: 20upx;

.Rate {

padding: 0upx 30upx 30upx;

background-color: #FFFFFF;

border-bottom: 1upx solid #eee;

p {

height: 60upx;

line-height: 60upx;

font-size: 30upx;

color: #333;

}

}

    }

</style>

代码分析:

首先,我们来看一下代码中的主要部分:

  1. 模板部分:

<template> 标签中,我们定义了一个包含两个评分组件的视图容器。每个评分组件使用了自定义的 <cc-starEvaluate> 组件,并通过 :stars 属性绑定了星级数据。同时,为评分组件绑定了 @click 事件,当用户点击评分时会触发相应的方法。

  1. JavaScript 部分:

<script> 标签中,我们导出了一个 Vue 组件对象。在 data 属性中,我们定义了两个数组 starsstarsTwo,分别表示整体评价和物流评价的星级数据。默认情况下,stars 数组的每个星级对象都被设置为 true,而 starsTwo 数组的每个星级对象都被设置为 false

methods 中,我们定义了两个方法 setStarsetStarTwo,分别用于处理整体评价和物流评价的点击事件。这些方法会在用户点击评分时被调用,打印出所选的星级,并使用 uni.showModal 方法弹出一个模态框来显示用户的评分结果。

  1. 样式部分:

<style> 标签中,我们定义了页面的背景颜色和评分容器的样式。容器使用了边框、圆角和阴影效果,同时根据设计需要进行了适当的调整。

使用指南:

  1. 引入组件:在你的Vue项目中,确保已经引入了所需的组件文件,并在需要使用评分组件的页面或组件中导入该组件。
  2. 数据绑定:根据你的需求,可以修改 starsstarsTwo 数据属性中的星级对象,调整评分的初始状态。每个星级对象有一个 types 属性,用于表示该星级是否被选中。
  3. 自定义样式:根据你的设计要求,可以在样式部分对评分容器和其他相关元素进行样式调整。
  4. 处理评分事件:根据你的业务逻辑,可以在 setStarsetStarTwo 方法中编写评分事件的处理逻辑。当前示例中使用了 uni.showModal 方法来显示用户的评分结果,你可以根据需要修改或替换这部分代码。

通过以上步骤,你就可以在你的Vue项目中使用这个星级评分组件了。根据你的实际需求,你可以在不同的页面或组件中多次使用该组件,并进行相应的数据绑定和事件处理。

总结:

本篇博客介绍了如何使用基于Vue框架的星级评分组件来实现爱心评分效果。通过对代码的分析和使用指南的说明,希望能帮助你在前端开发中快速应用星级评分功能,并满足用户的评价需求。如果你有任何问题或疑惑,欢迎留言交流!

阅读全文下载完整组件代码请关注微信公众号: 前端组件开发