如何在微信小程序中实现星级评分?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
wxml部分
<view> <view>一:显示后台给的评分</view> <block wx:for="{{one_1}}" wx:key="item"> <image src='../../image/star.png'></image> </block> <block wx:for="{{two_1}}" wx:key="item"> <image src='../../image/starg.png'></image> </block> </view> <view>这里num给的是几分就显示几颗星星</view> <view style='margin-top:60px;'>二:显示用户选择的评分</view> <block wx:for="{{one_2}}" wx:key="index"> <image catchtap='in_xin' id='{{index+1}}' data-in='star' src='../../image/star.png'></image> </block> <block wx:for="{{two_2}}" wx:key="index"> <image catchtap='in_xin' id='{{index+1}}' data-in='starg' src='../../image/starg.png'></image> </block> <view>{{one_2}}星</view>
wxss部分
image{ height: 60rpx; width: 60rpx; display: inline-block }
js部分
/** * 页面的初始数据 * 满分为5星 */ data: { num: 4,//后端给的分数,显示的星星 one_1: '',//点亮的星星数 two_1: '',//没有点亮的星星数 one_2: 0,//点亮的星星数 two_2: 5//没有点亮的星星数 }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //情况一:展示后台给的评分 this.setData({ one_1: this.data.num, two_1: 5 - this.data.num }) }, in_xin: function (e) { var in_xin = e.currentTarget.dataset.in; console.log(e.currentTarget.dataset.in); console.log(e.currentTarget); var one_2; if (in_xin == 'star') { one_2 = Number(e.currentTarget.id) } else { one_2 = Number(e.currentTarget.id) + this.data.one_2 } this.setData({ one_2: one_2, two_2: 5 - one_2 }) },
看完上述内容,你们掌握如何在微信小程序中实现星级评分的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。