如何实现小程序评价功能,方法及代码是什么
Admin 2022-09-02 群英技术资讯 514 次浏览
本文实例为大家分享了微信小程序实现评价的具体代码,供大家参考,具体内容如下
首先去图标库,找一个空心星图片和一个实星图片
先是效果图
wxml文件
for循环5次,初始值是5星,data-name用于区别是那个评价的星星
src="{{item-total+1>0?’…/image/empty_stars.png’:’…/image/entity_stars.png’}}"
条件判断,图片判断一个是空星,一个实星,根据自己图片地址改变
<view class="view_page"> <view class="content_cls"> <view class="cross_column" style="margin-top: 50rpx;"> <label>总体评价:</label> <image class="imagecls" wx:for="{{5}}" wx:key="{{index}}" data-name="total" data-item="{{item}}" src="{{item-total+1>0?'../image/empty_stars.png':'../image/entity_stars.png'}}" bindtap="img_bind"></image> </view> <view class="cross_column"> <label>服务态度:</label> <image class="imagecls" wx:for="{{5}}" wx:key="{{index}}" data-name="service" data-item="{{item}}" src="{{item-service+1>0?'../image/empty_stars.png':'../image/entity_stars.png'}}" bindtap="img_bind"></image> </view> <view class="cross_column"> <label>施工质量:</label> <image class="imagecls" wx:for="{{5}}" wx:key="{{index}}" data-name="quality" data-item="{{item}}" src="{{item-quality+1>0?'../image/empty_stars.png':'../image/entity_stars.png'}}" bindtap="img_bind"></image> </view> <view class="cross_column"> <label>维修时间:</label> <image class="imagecls" wx:for="{{5}}" wx:key="{{index}}" data-name="repairtime" data-item="{{item}}" src="{{item-repairtime+1>0?'../image/empty_stars.png':'../image/entity_stars.png'}}" bindtap="img_bind"></image> </view> <view class="cross_column" style="height:120rpx;margin-top:200rpx;margin-button:10rpx"> <button bindtap="Reasons_bind" class="but_style">需要返修</button> <button class="but_style">确认评价</button> </view> </view> </view>
css样式
如果需要实现我这种效果可以使用
/* pages/browse/evaluatepage.wxss */ /* 列合并 */ .cross_column { display: flex; height: 70rpx; line-height: 70rpx; } /* img图片样式 */ .imagecls { width: 70rpx; height: 70rpx; } /*按钮样式 */ .but_style { background-color: #f2a8b9; width: 200rpx; height: 100rpx; color: white; } /*报修评价内容样式 */ .content_cls { width: 70%; margin-left: 15%; background-color: white; } .content_cls view{ margin-bottom: 50rpx; }
最后就是js
先是初始化评价都为5星
点击星星触发事件,获取item和name.根据name判断赋值
本来打算一个setData实现的,但是没整出来,有整出来的朋友可以附下代码
data: { total: 5,//总体评价 service: 5,//服务态度 quality: 5,//施工质量 repairtime: 5//维修时间 }, img_bind: function(event) { var id = event.currentTarget.dataset.item + 1; var variable = event.currentTarget.dataset.name; console.log(id) console.log(variable) if (variable == "total") this.setData({ total: id, }) else if (variable == "service") this.setData({ service: id, }) else if (variable == "quality") this.setData({ quality: id, }) else { this.setData({ repairtime: id, }) } },
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Vue中foreach数组与js中遍历数组的写法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
jq去掉html标签的方法:1、使用remove(),语法“$("选择器").remove()”;2、使用empty(),语法“$("选择器").empty()”;3、使用detach(),语法“$("选择器").detach()”。
闭包实质上是函数作用域的副产物,下面这篇文章主要给大家介绍了关于浏览器是如何看闭包的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
虽然很少会遇到给bind返回的函数做new操作的场景,但面试中还是会涉及到的,所以本文将实现一下兼容new操作的bind写法,顺便学习一下new操作符,需要的可以参考一下
目录前言例子1. 模块加载2. jsonp动态加载script3. 执行异步脚本4. webpackJsonpCallback5. 执行异步模块代码流程图总结前言在vue中我们经常用到动态导入页面组件,那么它是如何实现的呢,本文将通过简单的案例,快速了解实现原理例子// index.jsimport(./test).t
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008