0
我正在尝试设置动态生成的输入的状态。最初任务对象,我想设置的新的状态看起来像这样:React - 对象分配多个动态输入值
渲染方法:
render(){
return(
<div>
<main className="content">
<form onSubmit={this.onSubmit}>
<div>
{Object.keys(this.state.dataGoal).map((key, index) => {
return <div key={key}>
<label>{this.state.dataGoal[key]}</label>
<div className="input-wrap">
<input
type="text"
name={`${key}-task-${index}`}
value={this.state.tasks[key]}
onChange={this.handleInputChange} />
</div>
</div>;
})}
</div>
<div className="input-wrap">
<input
className="primary-btn"
type="submit"
value="Set my goal!"
onClick={this.formReset} />
</div>
</form>
</main>
</div>
);
}
,最后handleInputChanged函数:
handleInputChange = (e) => {
const value = e.target.value;
const name = e.target.name;
this.setState({
tasks: Object.assign({}, this.state.tasks, {[name]: value})
});
}
我想,当一个输入改变设置对象的新状态。所需的结果是获取输入值并将其设置为名称键值为任务对象。
我也想问问输入的名字是否必须是唯一的。
感谢您的帮助, 的Jakub
非常感谢你。你已经度过了我的一天。 :)我真的需要消化它。 –