小程序
小游戏
企业微信
微信支付
扫描小程序码分享
<block wx:for="{{list0}}" wx:key="id" >
<template is="order_list" data="{{item,index}}" />
</block>
如上面所示,当我用setData()方法改变list0内某项数值发生变化时,显示界面上的数据值还是原来的,不会跟着变化,从调试器里的AppData中查看,数值也是被修改了的,好像<template>标签里的内容,渲染一次后就不会更新,大家有没有遇到过这种情况,是什么原因。
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
原因找到了,在使用setData()方法更新数据时,使用动态键名的情况下,里面不能再包含[],而要写成字符串形式:
that.setData({['list'+that.data.actIdx[idx]]:order}); //这样写法虽然能更改列表的值,但同时也会额外添加一个值到data中,然后列表不会更新
改成:
that.setData({['list'+that.data.actIdx+'['+idx+']']:order}); //使用这种写法就正常了
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
原因找到了,在使用setData()方法更新数据时,使用动态键名的情况下,里面不能再包含[],而要写成字符串形式:
that.setData({['list'+that.data.actIdx[idx]]:order}); //这样写法虽然能更改列表的值,但同时也会额外添加一个值到data中,然后列表不会更新
改成:
that.setData({['list'+that.data.actIdx+'['+idx+']']:order}); //使用这种写法就正常了