2017-04-12 6 views
1

Ich möchte die Suchergebnisse in meiner react-select Liste anzeigen, wenn ein Benutzer auf die Option klickt, lädt er die Daten vollständig in einer Tabelle unten. HierReact-select async Optionen werden nicht angezeigt

ist mein loadIptions

getMovies(e){ 
axios.get(`http://www.omdbapi.com/?t=${e}`) 
    .then((response) => { 
    return {options: response.data.Title} 
}) 
.catch((error) => { 
    console.log(error); 
    }); 
} 

ich die Funktion meiner Suche bin das Senden:

render() { 
     return (
     <div className="container"> 
      <SearchForm onkeydown={this.getMovies} /> 
      <MovieList movie={this.state.movie}/> 
     </div> 
); 
} 

Allerdings kann ich dies nicht in der Eingabe angezeigt werden, es bleibt auf Ladezustand:

<Select.Async 
name="form-field-name" 
value="" 
loadOptions={this.props.onkeydown} 
/> 

Irgendwelche Ideen, wie ich es bekomme, um den Titel zu zeigen?

+0

Sie sicher response.data.Title ist eine tatsächliche Anordnung von Werten? Sie haben auch überprüft, ob Ihr Versprechen zurückgegeben wird – KornholioBeavis

+0

Ich habe versucht, dies zurückzugeben: 'return [{value: response.data.imdbID, label: response.data.Title}];' – Bomber

+0

Bitte überprüfen Sie unten. Deine Funktion gibt tatsächlich nichts zurück, sondern nur den API-Anruf. Stellen Sie außerdem sicher, dass response.data.Title ein tatsächliches Array von Werten ist – KornholioBeavis

Antwort

0

Ihre Funktion ist nicht Rückkehr tatsächlich etwas

ändern diese:

getMovies(e){ 
axios.get(`http://www.omdbapi.com/?t=${e}`) 
    .then((response) => { 
    return {options: response.data.Title} 
}) 
.catch((error) => { 
    console.log(error); 
    }); 
} 

An:

getMovies(e){ 
return axios.get(`http://www.omdbapi.com/?t=${e}`) 
    .then((response) => { 
    return {options: response.data.Title} 
}) 
.catch((error) => { 
    console.log(error); 
    }); 
} 
Verwandte Themen