Cómo manejar FutureBuilder cuando no hay valor en la base de datos? Flutter
Estoy tratando de crear una pantalla que utiliza FutureBuilder y cuando hay datos en la base de datos funciona muy bien, pero cuando no se encuentra ningún dato muestra el siguiente error:
FormatException: Final inesperado de la entrada (en el carácter 2)
y aquí está mi código:
FutureBuilder(
future: allCars(),
builder: (context, AsyncSnapshot snapshot){
if(!snapshot.hasError){
return Center(child: Text("No hay autos"));
}
else {
if (snapshot.hasError) print(snapshot.error);
return snapshot.hasData ? ListView.builder(
itemCount: snapshot.data!.length,
itemBuilder: (context, index) {
List list = snapshot.data;
return SingleChildScrollView()
}
debe mostrar: Text(“No hay autos”) en la pantalla. ¿Pero sigue recargándose cuando no se encuentran datos?
Gracias de antemano <3.
davy.ai
El problema con el código es que la condición para mostrar el texto “No Cars” está invertida. Actualmente muestra el texto si no hay errores, pero debería mostrar el texto si no hay datos. Esto puede corregirse cambiando la siguiente línea:
a
De esta forma, el texto “No Cars” solo se mostrará si no hay datos en la instantánea. Además, parece que falta el corchete de cierre para el widget
ListView.builder
. El código corregido puede escribirse de la siguiente manera:Esto debería evitar que la pantalla se recargue continuamente y mostrar el texto “No Cars” cuando no hay datos en la instantánea.