[转] 小程序修改数组中对象的某个值或者修改对象值

本文详细介绍了在微信小程序中如何正确地获取和修改data中的值,包括直接修改普通数据、数组中对象的值以及对象的属性值的方法。通过具体示例展示了使用setData进行数据更新的技巧。

小程序中获取当前data定义的值,用this.data.xxx

setData的时候要修改的值是不需要加this.data.xxx的,直接xxx,

一般直接修改data的值直接修改,修改数组中对象的值或者对象的属性值都要先转为字符串再加中括号,如果有变量可以用ES6的模版字符串反单引号或者字符串拼接一下。

复制代码
Page({
  data: {
    currentValue:"aa",
    todoLists:[
      {
        detail:"",
        date:"",
        location:"",
        priority:"",
        remark:"",
        dateStatus:false,
        locationStatus:false,
        dateRepeat:false,
        completeStatus: false,
        currentInput:'',
      },
      {
        detail: "",
        date: "",
        location: "",
        priority: "",
        remark: "",
        dateStatus: false,
        locationStatus: false,
        dateRepeat: false,
        completeStatus: false,
        currentInput:'',
      }
    ],
    aa:{
      a:1,
      b:2
    }
  },
  tickToComplete:function(e){
    //修改数组中对象的值
    let index = e.currentTarget.dataset.index;
    let completeStatus = `todoLists[${index}].completeStatus`;
    this.setData({
      [completeStatus]: !this.data.todoLists[index].completeStatus
    })
    //修改对象中的属性值
    this.setData({
      ['aa.a']: 3
    })
    console.log(this.data.aa.a); //3
    //修改普通data值
    this.setData({
     currentValue: "bbb"
    })
  }, 
复制代码

转载于:https://www.cnblogs.com/chris-oil/p/10111661.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值