Javascript 如何在“中更改和保存嵌套数据”;“国家”;使用;“文本输入”;

Javascript 如何在“中更改和保存嵌套数据”;“国家”;使用;“文本输入”;,javascript,reactjs,material-ui,jsx,Javascript,Reactjs,Material Ui,Jsx,物料界面版本:0.1 状态值: formatter = [ {currencyField: "", amountField: ""} {accountField: "", amountField: ""} {numberField: ""} ] 我需要使用material ui中的mui.TextField组件更改处于状态的对象的每个元素 let formatterJson = JSON.parse(this.state.formatter); le

物料界面版本:0.1

状态值:

formatter = [
      {currencyField: "", amountField: ""}
      {accountField: "", amountField: ""}
      {numberField: ""}
    ]
我需要使用
material ui
中的
mui.TextField
组件更改处于
状态的对象的每个元素

let formatterJson = JSON.parse(this.state.formatter);
let jsx = [];
for (const prop in formatterJson) {
jsx.push(this.getTextField(prop, formatterJson[prop]));

getTextField(key, objVal) {
        return (
            <mui.TextField
                style={{fontSize: '14px', marginRight: '10px'}}
                name={key}
                value={objVal}
                fullWidth={false}
                hintText={key}
                onChange={(event) => {
                    objVal = event.target.value
                }}
            />
        )
    }
let-formatterJson=JSON.parse(this.state.formatter);
设jsx=[];
for(formatterJson中的常量属性){
push(this.getTextField(prop,formatterJson[prop]);
getTextField(键,objVal){
返回(
{
objVal=event.target.value
}}
/>
)
}

TextField值没有更改,因为发送到
getTextField
val
始终相同。为了解决这个问题,您在onChange
val=event.target.value需要再次设置回组件

实现它的一种方法是,复制原始JSON并将其保存在状态中,当任何字段的值发生更改时,使用新更新的JSON相应地更新JSON setState