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

这篇具有很好参考价值的文章主要介绍了【微信开发】小程序this.setData({})中对普通字段、数组以及数组对象进行赋值,对数组对象进行操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

        之最近在开发一个系统的时候,this.setData总有时候会出问题,查了查资料,一下进行总结:

  1. 字段赋值;
  2. 数组静态赋值;

  3. 数组动态赋值;

  4. 对象数组动态赋值;

  5. 组对象进行操作

        ① 末位加数据;

        ② 中间或者开头加数据;

        ③ 删除数据;

直接看代码:

现在data定义:

    testText : '',

    testTextArray : ['A','B','C','D','E'],

    testTextArrayOfObject : [
      {
        title : 'title_1',
        content : '舞台上的刘德华~刘德华~',
      },
      {
        title : 'title_2',
        content : '你是我的观音菩萨,我是你的刘德华',
      },
      {
        title : 'title_3',
        content : '再看一眼就会爆炸哦~',
      },
      {
        title : 'title_4',
        content : '衣服包包给你换新的',
      },
    ],

在onLoad操作:

        

  1. 字段赋值;
        //字段赋值
        this.setData({
          testText : 'abc'
        })
        console.log("赋值过后的testText : ", this.data.testText);
  2. 数组静态赋值;

        //数组静态赋值1
        this.setData({
          'testTextArray[0]' : 'Xxx'
        })
        console.log("数组静态赋值过后的testTextArray1 : ", this.data.testTextArray);
    
        //数组静态赋值2
        this.setData({
          ['testTextArray[1]'] : 'XXXX'
        })
        console.log("数组静态赋值过后的testTextArray2 : ", this.data.testTextArray);
  3. 数组动态赋值;

        //数组动态赋值1:
        for(var i = 0 ; i < this.data.testTextArray.length ; i ++){
          this.setData({
            ['testTextArray[' + i + ']'] : 'X'
          })
        }
        console.log("数组动态赋值1过后的testTextArray : ", this.data.testTextArray);
    
        //数组动态赋值2:
        for(var i = 0 ; i < this.data.testTextArray.length ; i ++){
          let content = 'testTextArray[' + i + ']';
          this.setData({
            [content] : 'Y'
          })
        }
        console.log("数组动态赋值2过后的testTextArray : ", this.data.testTextArray);

 然后在调试器里面检查:

        5. 组对象进行操作

                ① 末位加数据;

    //数组对象进行操作 -- 末位加数据
    let testArray = {title : '敬请期待!',content : '新神诞生~'};
    this.setData({
      testTextArrayOfObject : this.data.testTextArrayOfObject.concat(testArray)
    })
    console.log("数组对象进行操作 -- 末位加数据 过后的testTextArray : ", this.data.testTextArrayOfObject);

                ② 中间或者开头加数据;


    //数组对象进行操作 -- 开头加数据
    let testArray_1 = [{title : '敬请期待!',content : '新神诞生~'}];
    this.setData({
      testTextArrayOfObject : testArray_1.concat(this.data.testTextArrayOfObject)
    })
    console.log("数组对象进行操作 -- 末位加数据 过后的testTextArray : ", this.data.testTextArrayOfObject);

                ③ 删除数据;

    //数组对象进行操作 -- 删除数据
    let index = 0;
    this.data.testTextArrayOfObject.splice(index , 1);//第一个是要删除数据的索引,第二个是需要删除数据的数量
    console.log("数组对象进行操作 -- 删除数据 过后的testTextArray : ", this.data.testTextArrayOfObject);

然后在调试器里面检查:

微信小程序 数组赋值,开发语言,微信小程序,小程序,前端,javascript

 文章来源地址https://www.toymoban.com/news/detail-719584.html

到了这里,关于【微信开发】小程序this.setData({})中对普通字段、数组以及数组对象进行赋值,对数组对象进行操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 微信小程序中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日
    浏览(40)
  • 微信小程序错误-TypeError: this.setData is not a function

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

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

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

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

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

    2024年02月15日
    浏览(28)
  • 微信小程序调用map数据 并在wxml中对数组进行截取的操作

    wxs文件的位置如图   实现数组截取 只保留五张图片  ************这个是slicefunc.wxs里的内容是重点***************************** 以下的代码不重要 只是记录用的

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

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

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

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

    2024年02月11日
    浏览(35)
  • 小程序setData修改数组和对象

    Page({   data: {     arrs:[       { text: \\\'0概率固定\\\', value: 0 },       { text: \\\'1累计固定\\\', value: 1 },       { text: \\\'2概率随机\\\', value: 2 },       { text: \\\'3概率赠送\\\', value: 3 },       { text: \\\'4保夹模式\\\', value: 4 },       { text: \\\'5累计随机\\\', value: 5 },  

    2024年02月09日
    浏览(26)
  • 开发uniapp过程中对app、微信小程序与h5的webview调试

        因为在开发中使用到了webview,因为出现一些问题,所以需要对webview进行跟踪调试,但因为app,h5与微信小程序不一样,所以需要单独说一下。     一、H5     这个比较简单,因为都是在chrome,用F12就可以  二、对微信小程序       因为普通的uniapp页面上都能通过F12可以

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

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

    2024年02月11日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包