前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序:循环列表点赞功能实现

微信小程序:循环列表点赞功能实现

作者头像
德顺
发布2019-11-13 17:07:20
2.4K0
发布2019-11-13 17:07:20
举报
文章被收录于专栏:前端资源前端资源

微信小程序实现循环列表的点赞和取消点赞功能。下面是代码部分:

WXML:

代码语言:javascript
复制
<view class='page_container'>
  <view class='good-item' wx:for='{{goodsList}}'>
    <image class='good-img' src='{{item.img}}' mode='widthFix'></image>
    <view class='fav-box'>
      <!-- 收藏过否 -->
      <image class='fav-icon' catchtap='onCollectionTap' src="image/fav{{item.collected?'_on':''}}.png" data-index='{{index}}'></image>
      <text>{{item.dzzs}}人想要</text>
    </view>
  </view>
</view>

goodsList 是商品列表,通过判断 collected 的值来更换图片,当然也可以拓展一下,把文字的颜色也修改了。

给元素绑定一个事件,点击时进行点赞/取消点赞的操作,并弹出相应的提示。

JS:

代码语言:javascript
复制
data: {
  goodsList: [{
      img: 'image/mi.jpg',
      dzzs: '22',
      collected: 1,
      id: 1
    },
    {
      img: 'image/mi.jpg',
      dzzs: '33',
      collected: 0,
      id: 2
    },
  ],
},
// 更改点赞状态
onCollectionTap: function(event) {
  // 获取当前点击下标
  var index = event.currentTarget.dataset.index;
  // data中获取列表
  var message = this.data.goodsList;
  for (let i in message) { //遍历列表数据
    if (i == index) { //根据下标找到目标
      var collectStatus = false
      if (message[i].collected == 0) { //如果是没点赞+1
        collectStatus = true
        message[i].collected = parseInt(message[i].collected) + 1
      } else {
        collectStatus = false
        message[i].collected = parseInt(message[i].collected) - 1
      }
      wx.showToast({
        title: collectStatus ? '收藏成功' : '取消收藏',
      })
    }
  }
  this.setData({
    goodsList: message
  })
},

效果图:

favourite.png 微信小程序:循环列表点赞功能实现 小程序
favourite.png 微信小程序:循环列表点赞功能实现 小程序

我把写好的 Demo 放在 GitHub 上面了,需要的可以:点击直达

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档