首页 » 技术分享 » [微信小程序]星级评分和展示(详细注释附效果图)

[微信小程序]星级评分和展示(详细注释附效果图)

 

微信小程序开发交流qq群   173683895

   承接微信小程序开发。扫码加微信。

正文:

 

星级评分分成两种情况: 一:展示后台给的评分数据   二:用户点击第几颗星星就显示为几星评分;

 

<!--pages/test/test.wxml-->
<view>
<view>一:显示后台给的评分</view>
<block wx:for="{{one_1}}">
<image src='../../images/use_sc2.png'></image>
</block>
<block wx:for="{{two_1}}">
<image src='../../images/use_sc.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='use_sc2' src='../../images/use_sc2.png'></image>
</block>
<block wx:for="{{two_2}}" wx:key="index">
<image catchtap='in_xin' id='{{index+1}}' data-in='use_sc' src='../../images/use_sc.png'></image>
</block>
<view>{{one_2}}星</view>

 

// pages/test/test.js
Page({
  /**
   * 统一满分为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;
    var one_2;
    if (in_xin === 'use_sc2'){
      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
    })
  }
})

 

/* pages/test/test.wxss */
image{
  height: 60rpx;
  width: 60rpx;
  display: inline-block
}

微信小程序开发交流群(173683895)

 

对微信小程序有兴趣的可以关注我或者加入我的微信小程序开发交流群(173683895)相互交流学习。 禁止闲扯和广告。

转载自原文链接, 如需删除请联系管理员。

原文链接:[微信小程序]星级评分和展示(详细注释附效果图),转载请注明来源!

0