亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

微信小程序實現星星評價功能

標簽:
小程序 源碼

这个功能在日常的开发也是比较常见,结合项目需要以及网上的一些代码实现了一个评价小demo,效果请看下图,源码请点击这里

功能实现的思路:使用wx:for遍历循环N个区域,通过判断背景图数组中flag值来动态设置N个区域中背景图为哪一个

<view class='star-wrap'>
  <view 
    class='star-item' 
    wx:for="{{stars}}" 
    wx:key="" 
    style='background:url("{{item.flag==1?item.lightImg:item.blackImg}}") no-repeat top;background-size:100%;' 
    data-index="{{index}}" 
    bindtap='starClick'
  >
  </view>
</view>

我们先来看看data中的数据,starDesc为初始评价文字,stars为背景图数组对象,assessLists为快捷评价文字

data: {
  starDesc: '非常满意,无可挑剔',
  stars: [{
    lightImg: '/images/star_light.png',
    blackImg: '/images/star_black.png',
    flag: 1,
    message: '非常不满意,各方面都很差'
  }, {
    lightImg: '/images/star_light.png',
    blackImg: '/images/star_black.png',
    flag: 1,
    message: '不满意,比较差'
  }, {
    lightImg: '/images/star_light.png',
    blackImg: '/images/star_black.png',
    flag: 1,
    message: '一般,还要改善'
  }, {
    lightImg: '/images/star_light.png',
    blackImg: '/images/star_black.png',
    flag: 1,
    message: '比较满意,仍要改善'
  }, {
    lightImg: '/images/star_light.png',
    blackImg: '/images/star_black.png',
    flag: 1,
    message: '非常满意,无可挑剔'
  }],
  assessLists: ['意见很有帮助', '态度非常好', '非常敬业', '非常专业认真', '回复很及时', '耐心细致']
}

接下来是点击星星事件,思路是这样的:首先把所有区域的背景图设置为非点亮状态,然后再设置相对应数组下标区域以及数组下标前区域的背景图为点亮状态。

starClick: function(e) {
  var that = this;
  for (var i = 0; i < that.data.stars.length; i++) {
    var allItem = 'stars[' + i + '].flag';
    that.setData({
      [allItem]: 2
    })
  }
  var index = e.currentTarget.dataset.index;
  for (var i = 0; i <= index; i++) {
    var item = 'stars[' + i + '].flag';
    that.setData({
      [item]: 1
    })
  }
  // 评价星星文字说明
  this.setData({
    starDesc: this.data.stars[index].message
  })
}

以上思路有点绕,这是其中一种方法,相信你们能想到更好的方法,欢迎前来交流交流。

點擊查看更多內容
2人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
114
獲贊與收藏
415

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消