收藏
回答

setData怎么修改page data里的数组元素

问题模块
API和组件

比如

Page({

    data:{

        array: [

            { x:1}

        ]

    }

})

用setData修改x的值

不想使用新建对象,修改对象值,再用新对象覆盖原数组的办法

最后一次编辑于  2017-08-07  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

5 个回答

  • 小坏不坏
    小坏不坏
    2017-08-07

    var array = taht.data.array;array[0].x = 2;that.setData({array:array})

    2017-08-07
    赞同
    回复
  • 老猴Stormrage
    老猴Stormrage
    2017-08-07

    1楼的办法就是我最后说的办法,除了这种办法还有什么其他办法没

    2017-08-07
    赞同
    回复
  • 廉
    2017-08-07

    然而并没有新建对象啊。一般希望页面重新渲染才会用setdata,你要是用不着让页面重新渲染,你可以直接this.array=array;然后this.array[0].x=2就好了。

    2017-08-07
    赞同
    回复
  • 赵青山
    赵青山
    2017-08-08

    楼上在干嘛呢,角标固定是可以直接修改的

    this.setData({

    'array[0].x':2

    })


    2017-08-08
    赞同
    回复
  • 老猴Stormrage
    老猴Stormrage
    2017-08-08

    4楼正解,亲测有效。本来不加引号会报错,以为不支持呢。

    2017-08-08
    赞同
    回复