2017-08-09 1 views
-1

Ich versuche, ein Suchformular zu machen.aber es gibt ein Problem. Bringt die Daten nicht in das erste Enter-Ergebnis. Ich muss zwei oder mehr eingeben. Was ist das Problem?Reactjs Daten holen doppelt eingeben

handleKeyPress = (e) => { 
     if (e.nativeEvent.keyCode === 13) { 
     this.props.fetchUser(e.target.value) 
     this.setUser(this.props.user) 
     } 
    } 
    setUser(value) { 
     this.setState({ user: value }); 
    } 

Render

render() { 
    const { user} = this.state; 


    return (
    <input type="text" className="form-control btn-default " placeholder="Telefon Numarasını Giriniz.." onKeyPress={this.handleKeyPress}/> 
     <div className="row"> 
     <div className="col-md-6"> 
      { 
      user.length < 1 
      ? 
      <div> Please Enter Value !</div> 
      : 
      <div> 
       {user.data.fname} 
      </div> 
      } 
      </div> 
     </div>  
); 
} 
+0

Können Sie das gesamte Element mit dem übergeordneten Element posten? – lilezek

+0

post den vollständigen Code –

Antwort

0

Bitte versuchen charCode === 13 nicht keyCode zu verwenden, wie es onKeyPress ist. Oder Sie können .key verwenden. Wenn es immer noch nicht funktioniert, versuchen Sie stattdessen onKeyDown.

+0

danke aber Problem ist nicht zu betreten. Wenn ich handle, funktioniert KeyPress, aber this.state.user empfängt keine Daten. Dieses Mal passiert es, sobald Sie erneut eingeben. –

+0

Helfen 'e.preventDefault' und' e.stopPropagation'? –