问题描述
我正在尝试更改表单上的输入字段,但是我什么也不能更改。我需要帮助以查看在“ this.changeNameHandler”上做错了什么。
class UApt extends Component {
constructor(props) {
super(props)
this.state = {
details: [],id: this.props.match.params.id,appointmentName: ''
}
this.changeNameHandler = this.changeNameHandler.bind(this);
}
changeNameHandler = (event) => {
this.setState({ appointmentName: event.target.value });
}
render() {
return (
<div>
<form onSubmit={this.handleSubmit}>
<div className="form-group">
<label> Name: </label>
<input
type="text"
placeholder="Name"
name="appointmentName"
className="form-control"
value={this.state.details.appointmentName}
onChange={this.changeNameHandler} />
</form>
</div>
)
}
}
解决方法
您可以将表单输入的值更改为此
<form onSubmit={this.handleSubmit}>
<div className="form-group">
<label> Name: </label>
<input
type="text"
placeholder="Name"
name="appointmentName"
className="form-control"
value={this.state.appointmentName}
onChange={this.changeNameHandler} />
</form>
,
尝试更换
value={this.state.details.appointmentName}
使用
value={this.state.appointmentName}
!
您似乎为该值分配了错误的状态项。
,更改输入值 {this.state.details.appointmentName} 至 {this.state.details.appointmentName}
您还错过了className =“ form-group”的div的结束标记