在小程序的开发过程中,我们会遇到一种情况,就是在制作五星点评的时候,默认五颗星星都是要亮的。这里我们就要分享一下自己做默认五星的心得。

在这里我们先看一下效果图:

我们在订单页面的时候,当点击“晒单”按钮的时候我们跳转到评价的页面,比较简单直接上代码。

WXML代码:

<view style="width: 100%; height: 200rpx;"></view><!-- 星星打分 -->
<view class="scoreView"><!-- 五星点评区域 --><view class="stu-score-view"><block wx:for='{{stars_text}}' wx:key='textItem' wx:for-index='textIndex'><!-- 每一项点评,数据多少项遍历多少排 --><view class='stu-score-view1'><!-- 产品需求是能让用户自己输入五星点评类型,所以在此使用input --><!-- 对应数据 ['描述相符', '物流服务', '购买体验', '沟通情况'] --><input class="stu-score-text" type="text" placeholder="{{item}}" disabled /><!-- 遍历星icon 因为支持半星所以要循环遍历十次 对应数据 [0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5]--><block wx:for='{{stars_num}}' wx:key='starsItem' wx:for-item="starsItem" wx:for-index='starsIndex'><!-- 外层用盒子包裹 内层是图片,因为支持半星,所以盒子宽度是图片的一半,需要显示左边还是右边通过改变class实现 --><view class="{{starsItem%1 == 0 ? 'score_box2' : 'score_box1'}}" catchtap="starsClick" data-score="{{starsItem}}" data-index="{{textIndex}}"><!-- 图片 --><image class="{{starsItem%1 == 0 ? 'score_stars2' : 'score_stars1'}}" src="{{stars_score[textIndex] >= starsItem ?stars_select : stars_unselect}}"></image></view></block></view></block></view><!-- 总星区域 --><view class="scoreView1"><text class="scoreText">{{sunScore}}</text><text class="scoreText1">总星</text></view>
</view>

JS代码:

Page({/*** 页面的初始数据*/data: {stars_text: ['描述相符', '物流服务', '购买体验', '沟通情况'], // 每项评分的标题stars_score: [3.5, 3, 4.5, 5], // 每项点亮的星星数stars_num: [0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5], // 每个星星代表的数字stars_select: '../../../image/stars_select.png', // 星星图标(灰)stars_unselect: '../../../image/stars_unselect.png', // 星星图标(亮)sunScore: 16, // 总星},//星星点击starsClick: function (e) {let that = this,score = e.currentTarget.dataset.score,index = e.currentTarget.dataset.index;that.data.stars_score[index] = score;let sunScore = 0;for (let i = 0; i < that.data.stars_score.length; i++) {sunScore += that.data.stars_score[i];}that.setData({stars_score: that.data.stars_score,sunScore: sunScore})},
})

WCSS代码

/* 评分 */
.scoreView {width: 95%;margin-left: 46rpx;display: flex;flex: 1;align-items: center;margin-bottom: 14rpx;
}.stu-score-view {width: 540rpx;
}.stu-score-view1 {height: 60rpx;line-height: 50rpx;align-items: center;display: flex;
}.stu-score-text {width: 184rpx;font-size: 30rpx;border: 1px solid #ccc;border-radius: 8rpx;display: inline-block;padding: 0 30rpx;margin-right: 12rpx;box-sizing: border-box;
}.score_box1 {width: 24rpx;height: 48rpx;overflow: hidden;padding-left: 8rpx;
}.score_box2 {width: 24rpx;height: 48rpx;overflow: hidden;padding-right: 8rpx;
}.score_stars1 {width: 48rpx;height: 48rpx;
}.score_stars2 {width: 48rpx;height: 48rpx;margin-left: -24rpx;
}.scoreView1 {width: 100rpx;
}.scoreText {font-size: 34rpx;font-family: DINAlternate-Bold, DINAlternate;font-weight: bold;color: rgba(77, 77, 77, 1);line-height: 40rpx;flex: 1;display: flex;margin-left: 4rpx;justify-content: center;
}.scoreText1 {font-size: 26rpx;font-family: PingFangSC-Regular, PingFang SC;font-weight: 400;color: rgba(77, 77, 77, 1);line-height: 37rpx;display: flex;flex: 1;justify-content: center;
}

注释已经写的很详细了,不啰嗦,图片就留给大家咯:

小程序 - 五星评价系统(状态支持满星点亮 半星点亮 不点亮)相关推荐

  1. 微信小程序五星评价功能实现

    实现五星评价功能,效果图如下: .wxml文件: <view class="star-title">1.品质效果</view><view class= ...

  2. php做五星评价系统,微信小程序之五星评价功能制作

    这篇文章主要介绍了微信小程序 五星评价功能的实现的相关资料,这里附有实例代码及实现效果图,需要的朋友可以参考下 微信小程序 五星评价功能 话不多说,我们来看一下效果图: 要实现的效果:点击到第几颗星, ...

  3. 在线答题考试小程序源码系统 支持在线刷题+考试二合一+安装部署教程

    分享一个在线答题考试小程序源码系统,支持在线刷题+考试二合一,程序包含前后端和详细的安装部署教程,可以用来给学生刷题,给员工刷题,给政企员工刷题,万能通用版适合任何行业在线刷题及考试. 系统功能一览: ...

  4. 微信小程序客服系统怎么使用?小程序客服消息有没有什么限制?

    越来越多的商家开始使用微信小程序,大批客户涌入,就会面临一个头疼的问题,如何和客户即时对话,怎么高效处理客户消息,所以就需要巧妙运用微信小程序客服系统.那么微信小程序客服系统怎么使用呢? 一.使用微信 ...

  5. 小程序电商系统后台功能详解

    如何使用小程序电商系统后台,今天小来给大家讲解一下来客小程序电商系统. 首先,我们来看首页,首页上有一些基本的情况,比如说订单的情况待付款.待发货.待收货.待评价.退货等,还有今日营业额.今日订单数. ...

  6. 小程序分销商城系统八大功能都有哪些?一起来了解吧

    首先小程序分销商城系统我们在开发过程中大致开发的功能模块一共有8大模块,分别是:商品模块,店铺装修模块,会员模块,订单模块,营销模块,统计模块,应用模块,设置模块. 商品模块: 实物商品:已经审核通过 ...

  7. springboot基于微信小程序的选课系统毕业设计源码060000

    目  录 摘要 1 绪论 1.1研究背景 1.2开发意义 1.3系统开发技术的特色 1.4论文结构与章节安排 2选课系统小程序系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数据增加流程 ...

  8. 2021最新外卖霸王餐小程序、外系统霸王餐H5/APP程序源码|美团/饿了么霸王餐系统 粉丝裂变分销源码分享

    2021最新外卖霸王餐小程序.外系统霸王餐H5/APP程序源码|美团/饿了么霸王餐系统 粉丝裂变分销源码 外卖霸王餐系统小程序/H5/APP源码 2021最新霸王餐小程序 霸王餐小程序源码地址 成品演 ...

  9. springboot基于微信小程序的选课系统060000

    目  录 摘要 1 绪论 1.1研究背景 1.2开发意义 1.3系统开发技术的特色 1.4论文结构与章节安排 2选课系统小程序系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数据增加流程 ...

最新文章

  1. Mysql 水平拆分和垂直拆分
  2. 带你一起学kivy第一天
  3. BZOJ2434 [Noi2011]阿狸的打字机
  4. 树莓派10年销量4600万台!儿童玩具到工业设备它都可,创始人:最初只想造廉价电脑,不料第一天就卖出10万台...
  5. python中的reduce、lambda函数
  6. 机器学习系列之手把手教你实现一个分类回归树
  7. (Python)from collections import Counter统计包
  8. boost::hana::cycle用法的测试程序
  9. 前端和后端哪个工资高_前端、后端、全栈都是干嘛的?哪个薪资高?
  10. CF1413F. Roads and Ramen(树的直径,线段树)
  11. JEECMS编辑漏洞及随便拿webshell,啊哈哈
  12. html input自动获取光标位置,HTML contenteditable 标签里怎样获取光标像素位置?
  13. mysql insert 运算_MySql insert插入操作的3个小技巧分享
  14. UILabel小技巧
  15. Selenium关于滚动条的定位方法总结
  16. C++ 从零单排(2)-基础知识二
  17. [leetcode]72. Edit Distance 最少编辑步数
  18. 人脸识别之数据库存取
  19. shopex php5.3,shopex.4.85支持php5.3 | 学步园
  20. STM32F7+STM32CubeMX5.21+SD+FATFS

热门文章

  1. 基于vue创建的悦听音乐盒子
  2. Pandas解决excel数据脱敏和导入新sheet不覆盖原sheet
  3. C/C++基础讲解(九十九)之经典篇(第几天/排序)
  4. splice()方法的使用介绍
  5. 从AIPL到GROW,谈互联网大厂的营销分析模型
  6. 互联网热门职位薪资数据采集爬虫对比报告
  7. 【贪心专题】—— 贪心算法入门篇
  8. 强化学习入门--甄景贤
  9. 算法高级(8)-Hystrix实现熔断、限流与服务保护中的算法详解
  10. 计算机专硕370什么水平,考研370分是什么概念 好考吗