小程序
小游戏
企业微信
微信支付
扫描小程序码分享
比如我的data中有一个 数组test:[{"id":0,count:0},{"id":1,count:0},{"id";2,count:0}] 我用这个数组循环渲染出一个列表,当我需要点击列表的第n项时 ,使该数组的第n项发生变化该怎么做? this.setData({"test[0].count":2});使用这种发方法时 对象的key不可以时变量
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
考虑使用 ES6的对象字面量语法:
const index =
'test[0]'
self.setData({
[index]: {id:
'haha'
, count: 0}
})
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
我已经解决了谢谢大家,其实可以直接page.data 赋值,只是不能渲染到页面上去。看了一下文档发现setData函数的首要功能就是把数据从逻辑层渲染到视图层。所以先给计算Data然后在用setData渲染就解决了。
这样渲染 会有点卡顿
我是这样实现的,你可以参考下。
let _test =
this
.data.test;
_test[0].count = 2;
.setData({
test: _test,
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
考虑使用 ES6的对象字面量语法:
const index =
'test[0]'
self.setData({
[index]: {id:
'haha'
, count: 0}
})
我已经解决了谢谢大家,其实可以直接page.data 赋值,只是不能渲染到页面上去。看了一下文档发现setData函数的首要功能就是把数据从逻辑层渲染到视图层。所以先给计算Data然后在用setData渲染就解决了。
这样渲染 会有点卡顿
我是这样实现的,你可以参考下。
let _test =
this
.data.test;
_test[0].count = 2;
this
.setData({
test: _test,
})