Javascript 使用reactjs动态保存添加的多个文本框值
我想在更改文本值时保存文本框的值Javascript 使用reactjs动态保存添加的多个文本框值,javascript,reactjs,Javascript,Reactjs,我想在更改文本值时保存文本框的值 var MySelect = React.createClass({ getInitialState: function() { return { label: '' , options: [{ value: '', type: 'text' },
var MySelect = React.createClass({
getInitialState: function() {
return {
label: '' ,
options: [{ value: '', type: 'text' },
{ value: '', type: 'text' },
{ value: '', type: 'text' }]
}
},
change: function(event) {
this.state.label = '';
this.setState({value: event.target.value});
},
render: function() {
return(
<div>
<p><b>Field type</b></p>
<select className="inputControl" id="field_control" onChange={this.change} value={this.state.value}>
<option value="text">Textbox</option>
<option value="number">Number</option>
<option value="checkbox">Checkbox</option>
<option value="radio">Radio</option>
<option value="textarea">Textarea</option>
<option value="select">Dropdown</option>
<option value="date">Date</option>
<option value="email">Email</option>
</select>
<br />
<br />
<div id="selectOption">
<p>
<b>Choices</b>
</p>
<div id="SelectChoice" onChange={this.fillSelectOption}>
{
this.state.options.map(function(opt, i) {
return <input type={ opt.type } className="inputControl space" key={i} onKeyup={this.saveValue}/>
})
}
<i className="fa fa-plus-circle icon add" title="Add another choice" onClick={this.addOption}></i>
</div>
<div id="CheckboxChoice" style={{display: 'none'}}>
</div>
<div id="RadioChoice" style={{display: 'none'}}>
</div>
</div>
</div>
);
},
addOption: function(e) {
this.state.options.push({"value":'', "type":'text'});
this.forceUpdate();
}
});
var MySelect=React.createClass({
getInitialState:函数(){
返回{
标签:“”,
选项:[{value:'',键入:'text'},
{值:“”,键入:'text'},
{值:“”,键入:'text'}]
}
},
更改:功能(事件){
this.state.label='';
this.setState({value:event.target.value});
},
render:function(){
返回(
字段类型
文本框
数
复选框
无线电
文本区域
下拉列表
日期
电子邮件
选择
{
this.state.options.map(函数(opt,i){
返回
})
}
);
},
addOption:函数(e){
this.state.options.push({“value”:“”,“type”:“text”});
这个.forceUpdate();
}
});
我动态添加文本框,但当我单击“添加”图标时,它会添加新的文本框,但文本框中不会显示值。当用户更改它时,我可以保存值吗?您错过了输入元素中的值属性
this.state.options.map(function(opt, i) {
return <input type={ opt.type } value={opt.value} className="inputControl space" key={i} onKeyup={this.saveValue}/>
})
您缺少输入元素中的value属性
this.state.options.map(function(opt, i) {
return <input type={ opt.type } value={opt.value} className="inputControl space" key={i} onKeyup={this.saveValue}/>
})
对不起,回复太晚了。我试过了,但没用。
value={opt.value}
在我键入内容时重写。。你能发一把小提琴吗?对不起,回复太晚。。我试过了,但没用。value={opt.value}
在我键入内容时重写。。你能发一把小提琴吗?