Я пытаюсь создать вложенный ListView, но не знаю, смогу ли я объединить 2 построителя потоков во вложенном представлении, так как он не работает.Во втором StreamBuilder с запросом подколлекции данные, похоже, не возвращаются, и я не могу понять, почему.
Когда я жестко кодирую идентификатор документа, я не получаю никакой ошибки, но запрос все равно не 'Кажется, он не возвращает никаких данных.
Кто-нибудь знает, как создать вложенное представление списка с помощью streambuilders и Firestore?
List<Widget> buildStreamedListView() {
return [ StreamBuilder(
stream: Firestore.instance.collection('course')
.document(widget.data.documentID)
.collection('section')
.snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) return const Text("Loading...");
return Expanded(child: ListView.builder(
itemCount: snapshot.data.documents.length,
itemBuilder: (context, index) {
//return buildListItem(context, snapshot.data.documents[index]);
return Card(
child: ExpansionTile(
title: Text(snapshot.data.documents[index]['name']),
children: <Widget>[
StreamBuilder(
stream: Firestore.instance.collection('course')
.document(widget.data.documentID)
.collection('section')
.document('4CjAZEQ416NYpu3ra3OE')
.collection('page')
.snapshots(),
builder: (context, snap) {
return ListView.builder(
shrinkWrap: true,
itemCount: snap.data.documents.length,
itemBuilder: (context, index) {
return Text('Hello you');
}
);
}
),
],
),
);
}
));
},
)];
}