问题:

微信小程序渲染一个列表,列表中有包含按钮。

按钮状态有由列表特定item的一个属性决定。

需求是 点击按钮,触发操作,同时改变其状态。

尝试了n次才找到办法,记录一下。

Page({
    data: {
    match_id: 0,
    teams: [],

  },
    
  follow: function(e){
    var that=this
    var team_id = e.currentTarget.dataset.team_id
    var num = e.target.id
    wx.request({
      url: app.globalData.server_url + 'team/follow/',
      method: "POST",
      data:{
        openid: app.globalData.openid,
        teamid: team_id
      },
      success(res){
        that.setData({
          ['teams[' + num + '].mark'] : !that.data.teams[num].mark //关键在这里的实现
        })
      }
    })
  },
})

如上面代码所示:

this.setData({})中可以使用[str]的形式指定要改变元素的地址

另外"变量名":data则可以使用变量作为被改变元素地址

参考资料:

https://blog.csdn.net/fxjzzyo/article/details/79263198


本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

.gitignore生效问题 上一篇
微信小程序-flex布局 下一篇