13. setData

2023-05-11 17:01:29发布
42

修改基本数据

<view bind:tap="tap">
  {{ name }} {{ age }}
</view>
Page({
  data: {
    name: 'tom',
    age: 18
  },
  tap() {
    this.setData({
      name: 'marry',
      age: 20
    })
  }
})


修改对象数据

<view bind:tap="tap">
  {{ info.name }}  {{ info.age }}
</view>
Page({
  data: {
    info: {
      name: 'tom',
      age: 25
    } 
  },
  tap() {
    this.setData({
      'info.age': 18
    })
  }
})


修改数组数据

<view bind:tap="tap">
  {{ numArray }}
</view>
Page({
  data: {
    numArray: [1,2,3,4,5]
  },
  tap() {
    this.data.numArray[0] = 180;
    this.setData({
      "numArray" : this.data.numArray
    })
  }
})


修改数组对象数据(点击哪个就修改对应的数据)

<view>
  <view wx:for="{{ array }}" 
        wx:key="index" 
        data-item="{{item}}"
        data-index="{{index}}"
        bind:tap="changeName">
    {{ item.name }}
  </view>
</view>
Page({
  data: {
    array: [{
      name: 'tom',
      age: 12
    },{
      name: 'marray',
      age: 18
    },]
  },
  changeName(event) {
    this.setData({
      [`array[${event.currentTarget.dataset.index}].name`] : "wawa"
    })
  }
})