Ceci est le streambuilder im en utilisant pour accéder à tous les documents à la fois p>
xxx pré> Puis-je utiliser docid: snapshot.data.document [index] .Documumide pour accéder à l'ID du document individuellement? sinon quelle est l'option? Merci p> blockQuote> blockQuote>
3 Réponses :
Vous pouvez obtenir la documentation de cette façon
StreamBuilder(
stream: Firestore.instance.collection('projects').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) return Text('data is loading');
return ListView.builder(
itemBuilder: (ctx, index) {
QuerySnapshot snap = snapshot.data; // Snapshot
List<DocumentSnapshot> items = snap.documents; // List of Documents
DocumentSnapshot item = items[index]; Specific Document
return ProjectItem(
id: item.data['id'],
title: item.data['title'],
members: item.data['members'],
complexity: item.data['complexity'],
affordability: item.data['affordability'],
duration: item.data['duration'],
docid: item.documentID, // Document ID
);
},
itemCount: snapshot.data.documents.length,
);
},
),
)
J'ai mon code de travail avec un autre extrait, mais cela a l'air légitime aussi, merci!
Vous pouvez créer un constructeur d'objet personnalisé pour utiliser des données à partir de l'instantané de document.
return ProjectItem.fromFirestore( snapshot.data.documents[index] );
Marquer la question comme répondu
Cela a fonctionné pour moi: P>
xxx pré> blockQuote>