首页 > 解决方案 > Flutter - 如何从其他小部件访问 DropDown 中的当前选定项目?

问题描述

我的代码中有一个下拉菜单。我需要以某种方式从其他小部件访问我当前选择的项目。如何在其他小部件中访问此项目?我可以用 GlobalKey 或构造函数或其他任何东西来做吗?

我的下拉代码:

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

标签: androidiosflutterdartflutter-layout

解决方案


在您的代码中,您正在函数中创建一个按钮,但没有将其安装在小部件树中。请参阅我的示例代码,我使用一列来放置下拉列表和一个按钮。每当我对下拉列表进行更改时,currentItemSelected 都会更改,按钮文本也会更改。在按钮的 onPressed 中,您可以使用导航器通过将 currentItemSelected 值传递给其构造函数来导航到另一个页面。这样,您可以将信息发送到下一页。

这是一个小例子。飞镖板示例


推荐阅读