У меня есть простая сборка формы в react js. Он имеет текстовую область с кнопкой отправки. Теперь я хочу добавить в эту форму функцию OnBlur. Я пробовал это в методе рендеринга:
render() {
return (
<form onSubmit = {this.handleSubmit}> onBlur = {this.onBlur}
<label>
Name:
<input type = "text" value = {this.state.value} onChange = {this.handleChangeEvent} />
</label>
<input type = "submit" value = "Submit" />
</form>
);
}
Но это не работает. Исходный код (из учебников FaceBook) выглядит следующим образом: Обратите внимание, что я знаю, что мне нужно привязать onBlur () через эти строки: this.onBlur = this.onBlur.bind(this);. Так что это не вызывает озабоченности.
class NameForm extends React.Component {
constructor(props) {
super(props);
this.state = {value: ''};
this.handleChangeEvent = this.handleChangeEvent.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleChangeEvent(event) {
this.setState({value: event.target.value});
}
handleSubmit(event) {
alert('A name was submitted: ' + this.state.value);
event.preventDefault();
}
render() {
return (
<form onSubmit = {this.handleSubmit}>
<label>
Name:
<input type = "text" value = {this.state.value} onChange = {this.handleChangeEvent} />
</label>
<input type = "submit" value = "Submit" />
</form>
);
}
}
похоже, ваш синтаксис JSX неверен. Заменить onBlur=<this.onBlur> на onBlur = {this.onBlur}
Прошу прощения за опечатки. Редактирование произведено. Пожалуйста, просмотрите код.
Пожалуйста, покажите пример того, что вы хотите, чтобы он делал на Blur, но это не работает.
@Vagabond Что именно не работает. У вас есть метод handleBlur? Попробуйте <form onBlur = {this.handleBlur}> и console.info что-нибудь.





onBlur=<this.onBlur>? Вы имели в видуonBlur = {this.onBlur}