Ich muss eine Suche durchführen, wenn der Benutzer die Eingabe beendet. Ich weiß, dass ich setTimeout() verwenden soll. Aber mit Reactjs kann ich nicht finden, wie es funktioniert. Kann mir bitte jemand sagen, wie man eine Methode aufruft (die die Suche behandelt), wenn der Benutzer für ein paar Sekunden aufhört zu tippen (angenommen 5). Ich kann nicht herausfinden, wo der Code geschrieben werden muss, um zu überprüfen, dass der Benutzer die Eingabe beendet hat.Suchen in Reagieren, wenn Benutzer mit der Eingabe aufhört
import React, {Component, PropTypes} from 'react';
export default class SearchBox extends Component {
state={
name:" ",
}
changeName = (event) => {
this.setState({name: event.target.value});
}
sendToParent =() => {
this.props.searching(this.state.name);
}
render() {
return (
<div>
<input type="text" placeholder='Enter name you wish to Search.' onChange={this.changeName} />
</div>
);
}
}
Ich möchte die sendToParent-Methode aufrufen, wenn der Benutzer die Eingabe beendet.
Nun sind sie in einem Eingangselement eingeben? Wenn dies der Fall ist, haben Eingabeelemente ein Attribut mit dem Namen onKeyPress, das jedes Mal aufgerufen wird, wenn sie eine Schaltfläche drücken, während diese Eingabe ausgewählt ist. Sie können also festlegen, dass die Zeitüberschreitung bei jedem Drücken einer Taste gestartet wird, aber wenn die Taste erneut gedrückt wird, bevor die Zeitüberschreitung ausgeführt wurde, wird die Zeit zurückgesetzt. Wenn sie X Zeit nicht eingegeben haben, führt das Timeout eine Suche aus. – Jayce444
Wenn Sie sich auf den eigentlichen Code beziehen, der die Zeitüberschreitungssuche und die 'gestopptes Tippen' prüft, dann gibt es viele Beispiele für diese online. – Jayce444
Meine Methode ruft nicht auf onkeyPress – shinite