Установить выбранный элемент в 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. Еще раз спасибо!

0 ответов

Другие вопросы по тегам