Установить выбранный элемент в DropdownButton на элемент, полученный из документа firestore
Я успешно добавил
DropdownButtons
в мое приложение с помощью многих из вас. Спасибо.
Теперь, когда я заполняю экран из документа хранилища данных, мне нужно, чтобы в списке был элемент, соответствующий значению, хранящемуся в документе, отображаемом в
DropdownButton
текстовое окно. Я использую Stream для создания
DropdownMenuItem
список.
void changedDropDownAgency(String selected_agency) {
setState(() {
_currentAgency = selected_agency;
});
globals.selectedAgency = selected_agency;
}
void initState() {
super.initState();
_dropDownState = getDropDownState();
_currentState = _dropDownState[0].value;
}
This is just the snippet that builds the DropdownButton.
Container(
child: StreamBuilder(
stream: _db.collection('agency').snapshots(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.data == null) {
return Center(
child: CircularProgressIndicator(),
);
} else {
return new DropdownButton<String>(
hint: new Text("Select Agency"),
value: _currentAgency,
onChanged: changedDropDownAgency,
items: snapshot.data.docs
.map<DropdownMenuItem<String>>((document) {
return new DropdownMenuItem<String>(
value: document.id,
child: new Text(document.data()['name']),
);
}).toList(),
);
}
;
}),
),
Думаю, у меня есть весь код, который работает именно с этой DropdownButton. Итак, когда страница загружается, мне нужно, чтобы агентство, которое хранится в документе, отображалось в DropdownButton. Еще раз спасибо!