微信小程序 setData 如何修改動態數據?

最近這段時間在寫微信小程序,有一個頁面需要動態修改 data 中的數據,而這裏似乎是個坑。

1、正常修改

正常修改很簡單,當觸發 change 事件時,數據和頁面都會同時發生改變。這個也不用多說,很簡單的例子。

小程序 setData 中的坑,真沒想到原來還可以這麼玩!

2、如何修改對象中某個屬性值

當你想把下面代碼中 human 中的 height 的值改成 178 時,直接用 this.setData ({human.height: 178}) 會報錯。

human: {  
    name: ' 張三 ',  
    height: 170  
} 

這個時候可以先用字符串拼接屬性名,然後用 [] 包裹起來,這裏畫上,待會可能要考。

var height = 'human.height';  
this.setData({  
    [height]: 178  
})  

3、如何動態修改數組中某個值

動態修改 list [index].height 的值,和上面的例子差不多。

list: [  
    {  
        height: 170  
    },{  
        height: 175  
    },{  
        height: 178  
    }  
]  

先用字符串拼接,然後再更改,其中 index 是動態獲取的數字。

var height = 'list[' + index + '].height';  
this.setData({  
    [height]: 178  
})  

4、 那個...

其實好像挺簡單,果然還是我太菜,菜是原罪...

個人博客地址

首發公衆號「我是玖柒後」,在路上,一起成長!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章