鍍金池/ 問(wèn)答/HTML/ this.setState可以更新一個(gè)數(shù)組對(duì)象中的value嗎?

this.setState可以更新一個(gè)數(shù)組對(duì)象中的value嗎?

    constructor(props) {
        super(props);
        this.state = {
          moreData: [
            {name: 'a', value: '1'},
            {name: 'b', value: '2'},
            {name: 'c', value: '3'}
          ]
        }
    }

如何通過(guò)this.setState講name為a的value改成'10'

回答
編輯回答
蝶戀花

setState 只能更改最外層屬性的值。

你這種情況,需要自己手動(dòng)修改,然后重新賦值。

例如:

changeValue() {
    const data = this.state.moreData.map(v => {
        if (v.name === 'a') {
            v.value = '10'
        }
        return v
    });
    this.setState({ moreData: data })
}
2018年1月21日 23:59