Я хотел создать многоуровневую выпадающую кнопку из данных Firestore. В настоящее время я получаю значения для родительской выпадающей кнопки, но дочерний элемент отключен из-за отсутствия значений. Пока что я получаю компании, но я не могу получить должности, которые являются частью коллекции компаний
StreamBuilder<QuerySnapshot>(
stream: Firestore.instance.collection("companies").snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData)
return Center(
child: CircularProgressIndicator(),
);
List<DropdownMenuItem> items = [];
final companies = snapshot.data.documents;
for (var company in companies) {
var companyName = company.data['companyName'];
items.add(
DropdownMenuItem(
child: Text(
companyName,
style: TextStyle(fontWeight: FontWeight.bold),
),
value: companyName,
),
);
}
return Column(
children: <Widget>[
CustomDropdownButton(
items: items,
onChanged: (selectedValue) {
setState(() {
_companyName = selectedValue;
});
},
hint: 'Select Company',
value: _companyName,
),
StreamBuilder(
stream: firestoreDB
.collection('companies')
.document(_companyName)
.collection('positions')
.snapshots(),
builder: (context, snap) {
if (!snapshot.hasData) {
return null;
}
List<DropdownMenuItem> positionItems = [];
final positions = snap.data.documents;
for (var position in positions) {
_position = position.data['position'];
positionItems.add(
DropdownMenuItem(
child: Text(
_position,
style: TextStyle(fontWeight: FontWeight.bold),
),
),
);
}
return CustomDropdownButton(
items: positionItems,
hint: 'Select Position',
onChanged: (selectedValue) {
setState(() {
_position = selectedValue;
});
},
value: _position,
);
}),}),