如何在reactjs中将嵌套对象绑定到表单
假设我有这样的记录:如何在reactjs中将嵌套对象绑定到表单,reactjs,Reactjs,假设我有这样的记录: var project={ manager:{ id:1, name:"John" }, name:"create ...", workers:[ {name:'x',social_id:'xxx',age:11}, {name:'x',social_id:'xxx',age:12} ] }; 我想用这样的格式编辑这个对象: 我知道我可以通过props将数据绑定到表单
var project={
manager:{
id:1,
name:"John"
},
name:"create ...",
workers:[
{name:'x',social_id:'xxx',age:11},
{name:'x',social_id:'xxx',age:12}
]
};
我想用这样的格式编辑这个对象:
我知道我可以通过props
将数据绑定到表单,但是我想知道如何收集更新的数据并将其发送到服务器
顺便说一句,服务器在创建或更新对象时接受应用程序/json
内容类型。简短回答:
- 将所有处于状态的项目信息(包括嵌套的工作人员信息)存储在顶级组件中
- 在
组件中定义一个
处理程序,该处理程序将一个worker记录作为参数,并相应地更新状态handleChange(worker)
- 定义一个
组件,该组件将a)来自项目状态的工作人员信息和b)如
中定义的
方法作为道具this.handleChange
- 在worker组件中,为每个输入项的更改添加一个处理程序
- 每当worker中的输入项发生更改时,调用
this.props。父组件上的handleChange(worker)