作者:李留白
遇到的問題:
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你是真的狗🐕~