Hallo zusammen Stackoverflowers,Reagieren - ein Eingabewert nach Form Clearing einreichen
ich mit einem ziemlich dummen Problem dargestellt habe. Ich bin gerade dabei, meine erste React-Anwendung zu erstellen, und ich habe ein kleines Problem entdeckt, bei dem ich meinen Eingabewert nicht löschen kann, nachdem ich ein Formular abgeschickt habe. A versuchte dieses Problem zu googlen, fand hier ähnliche Threads, aber ich konnte das nicht lösen. Ich möchte nicht den Zustand meiner Komponente/Anwendung ändern, nur um den Wert der Eingabe in eine leere Zeichenfolge zu ändern. Ich habe versucht, den Wert der Eingabe in meiner onHandleSubmit -Funktion zu löschen, aber ich habe eine Fehlermeldung "Kann Eigenschaft 'Wert' von undefined nicht festlegen".
Ich würde jede Hilfe appreaciate. Danke im Voraus! :)
Mein Code:
Meine SearchBar Komponente:
import React, { Component } from "react";
class SearchBar extends Component {
constructor(props) {
super(props);
this.state = {
city: ""
};
this.onHandleChange = this.onHandleChange.bind(this);
this.onHandleSubmit = this.onHandleSubmit.bind(this);
}
render() {
return (
<form>
<input
id="mainInput"
onChange={this.onHandleChange}
placeholder="Get current weather..."
value={this.state.city}
type="text"
/>
<button onClick={this.onHandleSubmit} type="submit">
Search!
</button>
</form>
);
}
onHandleChange(e) {
this.setState({
city: e.target.value
});
}
onHandleSubmit(e) {
e.preventDefault();
const city = this.state.city;
this.props.onSearchTermChange(city);
this.mainInput.value = "";
}
}
export default SearchBar;
Vielen Dank für ihre Kommentare! Dumm ich ... es hat funktioniert. Ich dachte, wenn ich den Zustand ändere, würden meine Daten vom Bildschirm verschwinden (ja, so schlecht funktionierte meine Logik). Vielen Dank! – TommyVee