小程序this.setData修改对象、数组中的值

这篇具有很好参考价值的文章主要介绍了小程序this.setData修改对象、数组中的值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在微信小程序的前端开发中,使用this.setData方法修改data中的值,其格式为
this.setData({ ‘参数名1’: 值1,‘参数名2’: 值2)}
注意:如果是简单变量,参数名可以不加引号。

下面提供2种方式对data中的对象、数组中的数据进行修改:
假设原数据为:

data: {
    userInfo: {
      username: 'little',
      sex: 'female'
    },
    arr: [1,2,3,4,5,6],
},

方式一:使用[‘字符串’]

this.setData({
  // 写法一:
  ['userInfo.username']: 'plum',
  ['arr[2]']: 10
 // 写法二:
 'userInfo.username': 'plum',
 'arr[2]': 10,
})

当字符串中含有变量时,使用arr[${index}],并且外层的[]不可省略
this.setData({ [cars[${index}]]: 20})

方式二: 构造变量,重新赋值

  var temp = this.data.userInfo
  temp.username = 'plum'
  this.setData({userInfo: temp})

  var temp = this.data.arr
  temp[2] = 10
  this.setData({arr: temp})

另需注意:数组不可直接在xml中使用,要么遍历要么转为字符串后在xml中展示。文章来源地址https://www.toymoban.com/news/detail-857485.html

到了这里,关于小程序this.setData修改对象、数组中的值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微信开发】小程序this.setData({})中对普通字段、数组以及数组对象进行赋值,对数组对象进行操作

    前言:         之最近在开发一个系统的时候,this.setData总有时候会出问题,查了查资料,一下进行总结: 字段赋值; 数组静态赋值; 数组动态赋值; 对象数组动态赋值; 组对象进行操作         ① 末位加数据;         ② 中间或者开头加数据;         ③ 删除

    2024年02月08日
    浏览(46)
  • 微信小程序使用setData修改数组中的指定下标的属性值

    因为小程序中分有逻辑层和渲染层等。所以需要用setdata函数,渲染到视图界面。普通的修改属性是通过 this.setData({aa:true}) 的方法设置,但是本人遇到一种情况,需要通过下标区改变数组某一项中的某属性的值,方法如下: 结构: js: 备注:通过 let checkProp = \\\"rightRoomList[\\\" +

    2024年02月15日
    浏览(41)
  • 微信小程序 通过setData 给两个变量设置同一个数组时,为什么修改一个变量,另一个会也被修改?

    在微信小程序中,使用 setData 方法更新数据时,如果给两个变量设置同一个数组,修改其中一个变量的值会导致另一个变量也被修改的原因是,数组是引用类型的数据,在内存中的存储方式是按引用地址存储。 当你将一个数组赋值给两个变量时,实际上两个变量共享同一块内

    2024年02月11日
    浏览(49)
  • 小程序中this.setData是什么啊

    在小程序中, this.setData 是一个用于修改页面数据的函数。它的作用是将传入的对象的属性和值应用到小程序页面的数据对象上,并触发页面的重新渲染。 使用方法如下: 其中 key 和 value 为要修改的数据的键和值,可以同时修改多个数据。例如: 修改后,页面会重新渲染,

    2024年02月13日
    浏览(33)
  • 微信小程序中this.data 和 this.setData

    在微信小程序中,this.data 和 this.setData 是两个用于处理数据的不同方式。 1、this.data:this.data 是一个对象,用于存储小程序页面的数据。当我们需要获取或修改页面的数据时,可以直接访问和操作 this.data 对象。例如,this.data.name 可以获取名为 name 的数据,this.data.name = ‘Jo

    2024年02月03日
    浏览(52)
  • 微信小程序setData给数组赋值问题

    因为小程序中分有逻辑层和渲染层等。所以需要用setdata函数,渲染到视图界面。普通的修改属性是通过 this.setData({demo:true}) 的方法设置,但是本人遇到一种情况,需要通过下标区改变数组某一项中的某属性的值,方法如下: 1.有确定的下标情况下 2.没有确定的下标情况下

    2024年02月11日
    浏览(50)
  • 微信小程序错误-TypeError: this.setData is not a function

    微信小程序在与后台获取数据的时候遇到: TypeError: this.setData is not a function错误。 产生原因: 输出结果能输出,会产生警告,原因是this不能直接在请求的回调函数里写this, 解决方法:     在请求外声明一个变量,接收onload函数的this。  

    2024年02月16日
    浏览(48)
  • 微信小程序 - 解决 setData() 无法修改 properties 数据的问题,修改子组件 properties 传递过来的数据(父级页面传入子组件的数据无法更新修改的问题,简洁快速解决方案!)

    当页面(父组件)传递给子组件属性时,需要使用 properties 属性接收,但遗憾的是后续无法对该属性下的数据进行更新数据。 本文实现了微信小程序开发中,解决子组件使用 properties 接收后,无法进行数据的编辑与更新问题, 简单来说,就是组件内部无法通过 setData 对 pro

    2024年02月16日
    浏览(80)
  • 微信小程序 - setData

    1、setData  函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的  this.data  的值(同步)。 2、其中  key  可以以数据路径的形式给出,支持改变数组中的某一项或对象的某个属性,如  array[2].message , a.b.c.d ,并且不需要在 this.data 中预先定义。 3、直接修改 t

    2024年02月11日
    浏览(37)
  • 小程序setData执行后,页面没有刷新

     这是两个tab页面,通过点击来切换页面,其实就是改变后台的数据 只是点击后,后台数据更新,但是页面却没有重新渲染。 以下是分析: isPayee:  tab的值,当为1时,展示1号tab, 为0时,展示2号tab 点击tab,发现data中的isPayee改变了。  说明方法没问题,但是页面却不会变化

    2024年02月15日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包