如何在微信小程序中实现星级评分?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
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
})
},
看完上述内容,你们掌握如何在微信小程序中实现星级评分的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。