微信小程序中使用wx:for,循环中绑定点击事件,对数组进行渲染

微信小程序实际开发中,在for循环中,需要获取用户对那组数据进行了修改,使用了vue太久,微信小程序有点忘记了,查阅资料后也是很快熟悉起来,但是赋值过程中遇到了一些小问题,解决了,特此记录一下。
1、在for循环中使用switch开关,用户点击对应开关,需要将对应数组中checked改变状态

<switch style="zoom:.8;margin:30rpx 0 0 20rpx;"  type="switch" checked="{{item.checked}}" bindchange="listenerSwitch" data-index='{{index}}' />

使用‘data-’ 可以绑定对应用户点击的for循环中数组的下标,此处用data-index=’{{index}}'进行绑定。

listenerSwitch(event){
    var b = event.currentTarget.dataset.index
    this.setData({
      [`list_zidonghua[${b}].checked`]:!this.data.list_zidonghua[b].checked
    })
    console.log(this.data.list_zidonghua);
  },

此处event.currentTarget.dataset.index便是获取到wxml中所处理的数组下标,一开始直接赋值

this.setData({
'list_zidonghua[${b}].checked':!this.data.list_zidonghua[b].checked
})

会报下面的错误

 Error: Only digits (0-9) can be put inside [] in the path string

查阅官方文档后修改为上述赋值,轻松解决。
官方文档:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值