Aquí está la cosa. Estoy tratando de completar una selección usando React AsyncSelect # react-select. El problema es que no estoy seguro de cómo usar su Promesa / Devolución de llamada, el resultado que obtuve es tarde. Por ejemplo, voy a buscar la palabra clave «ABCD», las opciones pobladas están vacías, aunque puedo ver la respuesta de firebase, luego las opciones se muestran después de hacer un retroceso o escribir «ABC».

Debajo está el código:

getCustomers = (search) ={amp}gt; { const { firebase } = this.props; const options = []; if(search.length {amp}gt;= 3){ let customerRef = firebase.ref('customer').orderByChild('firstname').startAt(search).endAt(search   "uf8ff"); customerRef.once('value').then((snapshot) ={amp}gt; { snapshot.forEach(function(childSnapshot) { options.push({ value: childSnapshot.key, label: childSnapshot.val().firstname   ' '   childSnapshot.val().lastname, data: { ...childSnapshot.val(), key: childSnapshot.key } }); }); this.setState({ ...this.state, customers: options }); }); } if( this.state.customers ){ return options; } } loadCustomers = (inputValue, callback) ={amp}gt; { setTimeout(() ={amp}gt; { callback(this.getCustomers(inputValue)); }, 2000); } handleCustomersInputChange = (newValue) ={amp}gt; { const inputValue = newValue.replace(/W/g, ''); return inputValue; }; 

Y así es como inicializo AsyncSelect:

 {amp}lt;AsyncSelect cacheOptions loadOptions={this.loadCustomers} onInputChange={this.handleCustomersInputChange} /{amp}gt; 
Robot Gedek

es un nuevo contribuyente a este sitio. Tenga cuidado al pedir aclaraciones, comentarios y respuestas. Mira nuestro

Código de Conducta

.