flutter - 使用提示时,Flutter DropdownButton 不显示值
问题描述
我有一个 AlertDialog 并想使用 DropdownButton 来更改值。起初应该有可见的提示。选择一个值后,该值应该是可见的。但是当我使用提示时,它永远不会显示值,反之亦然。
DropdownButton(
items: <String>['team1','team2'].map((String val) => DropdownMenuItem<String>(
value: val,
child: Text(val),
)).toList(),
//value: 'team1',
hint: Text('Enter team'),
onChanged: (value) {
teteam.text = value;
}
),
它具有正确的功能,但可见性并不像我期望的那样。
解决方案
您必须使用setState
,因为您想更改应用程序的 UI。只需更改onchanged
onChanged: (value) {
setState(() {
teteam.text = value;
});
},
..
工作示例在这里: https ://www.developerlibs.com/2019/09/flutter-drop-down-menu-list-example.html
来自库的 setState: https ://api.flutter.dev/flutter/widgets/State/setState.html
编辑:
我假设您正在尝试setState
在不可变(无法更改)的无状态小部件中使用。
使用有状态小部件来执行此操作,如下所示:
class AddTodoDialog extends StatefulWidget{
AddTodoDialog createState()=> AddTodoDialog();
}
class AddTodoDialog extends State<AddTodoDialog>{
//Your code here
}
推荐阅读
- node.js - npm 'sass' 包在监视模式下编译空文件
- python - 在将数据从文件插入表时,如何用 NULL 替换 NA 值?
- mysql - MySQL 中 WHERE IN 条件中的 GROUP_CONCAT
- python - 如何获取仅在使用python selenium悬停时出现的元素的html代码
- node.js - 内容安全策略:页面的设置阻止在 eval(“script-src”)加载资源
- tinymce - 在 Typescript 中输入 Tinymce 编辑器(任何意外)
- r - 使用 foreach 并行化嵌套的 for 循环
- go - 使用 Golang 测试资源管理器或自动化测试运行程序时设置秘密凭据
- flutter - 随机在屏幕上显示文本颤动
- python - 精确召回