关于微信小程序this.setData()用法

基本使用

字符串 数值 布尔

data: {
    name: 'Blake'
}

this.setData({'name': 'Yang'})

对象

data: {
    person: {
        name: 'Blake',
        age: 9
    }
}

this.setData({'person.name': 'Blake})

高能

普通的数组

怎样动态修改某个元素

//wxss
<view wx:for="{{arr}}" bindtap="changeNum" data-id="index">{{item}}</view>
//js
data: {
    arr: [1,2,3,4,5,6]
}

changeNum(e){
    var id = e.currentTarget.dataset.id
    var str = "arr["+id+"]"
    this.setData({
        [str]: 99
    })
}

or

changeNum(e){
  var id = e.currentTarget.dataset.id
  this.data.arr[id] = 99
  this.setData({
      arr: this.data.arr
   })
}

元素是对象的数组

当元素被点击时,修改age

//js
data: {
    people: [
        {
            name: 'Blake',
            age: 9
        },
        {
            name: 'Blake',
            age: 9
        },
        {
            name: 'Blake',
            age: 9
        }
    ]
}

changeNum(e){
    var id = e.currentTarget.dataset.id
    var str = "arr["+id+"].age"
    this.setData({
        [str]: 99
    })
}

or

changeNum(e){
  var id = e.currentTarget.dataset.id
  this.data.arr[id].age = 99
  this.setData({
      arr: this.data.arr
   })
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容