收藏
回答

列表中关于点赞后,数量动态增加或减少

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug wxa14922b52f370946 客户端 Android 6.6.7 1.9.91

列表中关于点赞后,数量动态增加或减少,怎样操作?

回答关注问题邀请回答
收藏

1 个回答

  • 卢霄霄
    卢霄霄
    2018-07-02

    首先,点赞的个数如果不需要实时刷新,那么自己相关的变化只有 : 点赞+1 取消点赞还原。点赞个数应该是 item 里的一个变量吧?点赞的状态也是 item里的一个变量吧?

    2018-07-02
    有用
    回复 11
    • 浪淘沙
      浪淘沙
      2018-07-02

      首先列表中的点赞,用户点赞后点赞数会动态+1或-1,如果通过对当前的点赞ID信息,进行判断后,然后遍历操作,最后将整理后的新数组赋值给所有的列表。这样我运行后,我觉得页面刷新浮动大。。。 有没有类是只是局部改变(只有点赞的那处变动)

      2018-07-02
      回复
    • 卢霄霄
      卢霄霄
      2018-07-02回复浪淘沙

      wx:for 里有个默认的 index变量, data-index="{{index}}",点击事件进去只修改对应位置的对象。然后

      。。我对es6语法不熟,所以写得有点丑,见谅 

      var index = 1 

      var b = "cardList["+index+"].name" 

      this.setData({ 

      [b] : "卢霄 霄 " 

      }) 

      来设置单个位置的值


      2018-07-02
      回复
    • 浪淘沙
      浪淘沙
      2018-07-02回复卢霄霄

      您能在具体一些么?追问一下,列表是动态加载(上拉),你的方法也适用吗?

      2018-07-02
      回复
    • 卢霄霄
      卢霄霄
      2018-07-02回复浪淘沙
      <view wx:for="{{cardList}}" data-index="{{index}}" bindtap="tapFn">
          <view wx:if="{{!item.isRead}}" class="redDot"></view>
      </view>
      tapFn: function(e){
          let index = e.currentTarget.dataset.index
          let itemName = "cardList["+index+"].isRead" 
          this.setData({ 
              [itemName] : true 
          }) 
      }


      2018-07-02
      1
      回复
    • 浪淘沙
      浪淘沙
      2018-07-02回复卢霄霄

      bindtap = "tapFn"  这段标签是不是要改为(非冒泡) catchtap = "tapFn"

      2018-07-02
      回复
    查看更多(6)
登录 后发表内容