使用更新值重新渲染组件后如何更新输入和下拉列表中的值?
How to update value in input and drop-down after re-rendering the component with updated value?
我有一个表单,其中有一些文本框和下拉菜单。我在使用新值更改下拉值时重新呈现此表单组件。它可以使用更新值重新渲染,但我无法从文本框或下拉列表中手动更改值。如何在预填充值后手动更新值?
render() {
return <div>
<div className="row">
<div className="form-group col-md-4">
<label>Name:<i><b>*</b></i></label>
<select className="form-control formControl" onChange={this.props.simplifiedFunction} id="ddlName" defaultValue={this.props.data[0].EmployeeID} >
{this.props.allNames}
</select>
</div> <div className="form-group col-md-4">
<label>Title:</label>
<input className="form-control formControl" defaultValue={this.props.data[0].Title}
value={this.props.data[0].Title} />
</div>
<div className="form-group col-md-4">
<label>Department:</label>
<input className="form-control formControl" defaultValue={this.props.data[0].Department}
value={this.props.data[0].Department} />
</div>
</div>
要在设置值时更新输入中的值,您必须设置 onChange。
首先将你的特定道具放入状态。
示例状态:
state = { myname:'Bayat'}
示例输入:
<input value={this.state.myname} onChange={e=>this.setState({myname:e.target.value})}/>
如果您正在使用 setState({}),您可能希望将输入值绑定到状态而不是道具?
像这样 -
<input className="form-control formControl" defaultValue={this.props.data[0].Department}
value={this.state.department} />
我有一个表单,其中有一些文本框和下拉菜单。我在使用新值更改下拉值时重新呈现此表单组件。它可以使用更新值重新渲染,但我无法从文本框或下拉列表中手动更改值。如何在预填充值后手动更新值?
render() {
return <div>
<div className="row">
<div className="form-group col-md-4">
<label>Name:<i><b>*</b></i></label>
<select className="form-control formControl" onChange={this.props.simplifiedFunction} id="ddlName" defaultValue={this.props.data[0].EmployeeID} >
{this.props.allNames}
</select>
</div> <div className="form-group col-md-4">
<label>Title:</label>
<input className="form-control formControl" defaultValue={this.props.data[0].Title}
value={this.props.data[0].Title} />
</div>
<div className="form-group col-md-4">
<label>Department:</label>
<input className="form-control formControl" defaultValue={this.props.data[0].Department}
value={this.props.data[0].Department} />
</div>
</div>
要在设置值时更新输入中的值,您必须设置 onChange。
首先将你的特定道具放入状态。
示例状态:
state = { myname:'Bayat'}
示例输入:
<input value={this.state.myname} onChange={e=>this.setState({myname:e.target.value})}/>
如果您正在使用 setState({}),您可能希望将输入值绑定到状态而不是道具?
像这样 -
<input className="form-control formControl" defaultValue={this.props.data[0].Department}
value={this.state.department} />