[轉] 小程序修改數組中對象的某個值或者修改對象值


小程序中獲取當前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"
    })
  }, 
復制代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM