Flutter - Как мне получить доступ к текущему выбранному элементу в DropDown из другого виджета? - PullRequest
0 голосов
/ 02 августа 2020

У меня в коде есть DropDown . Мне нужно каким-то образом получить доступ к моему текущему выбранному элементу из другого виджета. Как я могу получить доступ к этому элементу в другом виджете? Могу ли я сделать это с помощью GlobalKey или конструктора или еще чего-нибудь?

Код моего DropDown:

              DropdownButton<String>(
                    items: _myList.map((String dropDownStringItem) {
                      return DropdownMenuItem<String>(
                        value: dropDownStringItem,
                        child: Text(dropDownStringItem),
                      );
                    }).toList(),
                    onChanged: (String newItemSelected) {
                      setState(() {
                        currentItemSelected = newItemSelected;
                      });
                    },
                    value: currentItemSelected,
                  ),

1 Ответ

0 голосов
/ 04 августа 2020

В вашем коде вы создаете кнопку в функции, но не монтируете ее в дереве виджетов. В моем примере кода я использовал столбец для размещения раскрывающегося списка и кнопку. Каждый раз, когда я вношу изменения в раскрывающийся список, изменяется currentItemSelected и текст кнопки. В кнопке onPressed вы можете использовать навигатор для перехода на другую страницу, передав значение currentItemSelected его конструктору. Таким образом, вы можете отправить информацию на следующую страницу.

Вот небольшой пример. Пример Dartpad

...