微信小程序-改变列表内元素属性

问题:

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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


微信小程序-改变列表内元素属性
https://blog.yrpang.com/posts/39954/
作者
yrPang
发布于
2019年1月31日
许可协议