小程序SetData设置数组对象,SetData 新增数据, SetData Push新数据
作者:李留白
遇到的问题:
1 this.setData({
2 Data[0].name:"喵喵"
3 })
解决办法:
1 var param = {};
2 var string = "Data["+变量+"].name;
3 param[string] = '喵喵';
4 that.setData(param);
另一个解决办法:
` 是ESC下方的按键
1 this.setData({ 2 [`Data[${变量}].name`]:"喵喵", 3 [`Data[${变量}].names`]:([...data.names]) 4 })
1 that.data.Data[0].position.top = sss 2 that.data.Data[1].position.top = sss 3 that.data.Data[0].position.left = sss 4 that.data.Data[1].position.left = sss 5 6 that.setData({ 7 Data: that.data.Data 8 })
不推荐的方法,数据修改后页面不会刷出新值!!!
1 this.data.Data[0].name = '喵喵'
PUSH
对象或数组进行操作
需要把获取到的数组或对象PUSH到指定位置
例如:
this.data.nav[index].res
nav[0].res 内必须有值后才能 PUSH!!!
1 const nav = params.page === 1 ? [] : this.data.nav 2 nav[this.data.currentTab].res.push(...data.list) 3 4 this.setData({ 5 nav: nav 6 })
小程序 setdata 新增数据
1 if(this.data.changs > 0){ // 表示不是第一次填数据,可以使用push 2 const CloudGetData = this.data.CloudGetData 3 CloudGetData.push(...res.data) 4 this.setData({ 5 CloudGetData:CloudGetData, 6 }) 7 } else{ // 表示第一次填数据 8 this.setData({ 9 CloudGetData: res.data, 10 changs: this.data.changs + 1 // 表示填过数据 11 }) 12 }
小程序 setdata 新增数据 还可以这样写
1 if(this.data.changs > 0){ // 表示不是第一次填数据,可以使用push 2 this.setData({ 3 CloudGetData:[...this.data.CloudGetData,...res.data], 4 }) 5 } else{ // 表示第一次填数据 6 this.setData({ 7 CloudGetData: res.data, 8 changs: this.data.changs + 1 // 表示填过数据 9 }) 10 }
我知道我菜🥦,但setData PUSH你是真的狗🐕~