3 回答
TA贡献1815条经验 获得超6个赞
问题是这一行:
this.handlePhoneNoChange = this.handlePhoneNoChange(this);
如果你仔细观察,你就不见了.bind
。因此,您将其称为this
事件。您的组件中没有target
属性,因此会引发错误。
错误的修复是:
this.handlePhoneNoChange = this.handlePhoneNoChange.bind(this);
但是,它不会解决其他答案中突出显示的问题。
TA贡献1875条经验 获得超5个赞
event.target.value基本上检索调用它的任何输入的值。
在这种情况下,可以通过 event.target.value 访问telephoneno输入的值
所以,使用事件的正确方法是,
handlePhoneNoChange(event) {
this.setState({ telephoneno: event.target.value });
}
你应该像这样绑定它,
this.handlePhoneNoChange = this.handlePhoneNoChange.bind(this);
如果您可以在输入的 onChange 事件中使用箭头函数,那就更好了,
onChange={ (e) => this.handlePhoneNoChange(e) }
TA贡献1799条经验 获得超9个赞
您没有使用正确的方式在反应有状态组件中使用状态,在和函数props中用作参数constructorsuper
constructor(props) {
super(props);
this.state = {
name: '',
address: '',
city: '',
telephoneno: '',
stdcode: ''
}
}
并更新这一行:
this.setState({ telephoneno: event.target.value});
添加回答
举报