Hola, tengo un problema con mi código. Quiero mostrar una lista de usuarios de firebase, pero estoy atascado al final. la línea de código debería verse así:
userName: searchSnapshopt.documents[index].data["name"]);pero después de la actualización, ya no hay documentos y hay "docs" y me desglosa todo
aquí está mi código
class _SearchScrState extends State<SearchScr> { DatabaseMethods databaseMethods = new DatabaseMethods(); TextEditingController searchTextEditingController = new TextEditingController(); QuerySnapshot searchSnapshopt; initiateSearch() { databaseMethods .getUserByUsername(searchTextEditingController.text) .then((val) { setState(() { searchSnapshopt = val; }); }); } Widget searchList() { return searchSnapshopt != null ? ListView.builder( itemCount: searchSnapshopt.docChanges.length, shrinkWrap: true, itemBuilder: (context, index) { return SearchTile( userName: searchSnapshopt.docs[0].data("name")); }) : Container(); }Ok, tengo una solución, solo cambia esto
userName: searchSnapshopt.docs[index].data("name")a esto:
userName: searchSnapshopt.docs[index].get("name")y ahora funciona
Prueba esto:
class _SearchScrState extends State<SearchScr> { DatabaseMethods databaseMethods = new DatabaseMethods(); TextEditingController searchTextEditingController = new TextEditingController(); QuerySnapshot searchSnapshopt; initiateSearch() { databaseMethods .getUserByUsername(searchTextEditingController.text) .then((val) { setState(() { searchSnapshopt = val; }); }); } Widget searchList() { return searchSnapshopt != null ? ListView.builder( itemCount: searchSnapshopt.docChanges.length, shrinkWrap: true, itemBuilder: (context, index) { return SearchTile( userName: searchSnapshopt.docs[index].get("name")); }) : Container(); }