【发布时间】:2015-04-03 14:32:01
【问题描述】:
我在 Reactjs 中动态生成了文本字段。输入文本字段被视为单独的组件。当我尝试在动态生成的文本字段中设置值时,我只得到最后一个输入值。所有其他输入值都被覆盖。我们可以使用 SWITCH 案例,但是如果我们添加更多的输入字段,那么代码会变得非常大。
这是我的示例代码:
var TextBox = React.createClass({
setTextState : function(event){
idval = event.target.id;
console.log(idval);
this.setState({idval : event.target.value}); //Here the issue
},
content: function() {
name1 = "task_1";
name2 = "task_2";
name3 = "task_3";
name4 = "task_4";
name5 = "task_5";
name6 = "task_6";
name7 = "task_7";
return [
<td> <TextInput type="text" /></td>, <td> <TextInput type="text" name={name1} id={name1} setText={this.setTextState}/></td>,
<td> <TextInput type="text" name={name2} id={name2} setText={this.setTextState}/></td>, <td> <TextInput type="text" name={name3} id={name3} setText={this.setTextState}/></td>,
<td> <TextInput type="text" name={name4} id={name4} setText={this.setTextState}/></td>, <td> <TextInput type="text" name={name5} id={name5} setText={this.setTextState}/></td>,
<td> <TextInput type="text" name={name6} id={name6} setText={this.setTextState}/></td>, <td> <TextInput type="text" name={name7} id={name7} setText={this.setTextState}/></td>
]
},
submitValue : function() {
},
render: function() {
return (<tr>{this.content()}<td><input type="button" onClick={this.submitValue}/></td></tr>);
}
});
【问题讨论】:
-
“所有其他输入值都被覆盖了”——我认为你需要澄清发生了什么,因为我不清楚。
-
此处输入文本字段名称为 task_1、task_2 等。当我在文本字段中输入值并尝试获取所有这些值时,我只得到最后插入的值。
标签: javascript reactjs reactjs-flux