Flutter中如何修改DropdownButton下拉按钮的默认显示值?
解决方案
hint属性不生效的核心原因是:DropdownButton的
value属性不为null时,会优先渲染和value值匹配的DropdownMenuItem,只有当value为null时,hint配置的内容才会作为默认占位展示。你当前的_value初始值应该是1,刚好匹配第一个选项的value,所以默认一直显示First Item。
具体修改步骤如下:
- 将
_value变量的类型改为可空类型,取消初始赋值(默认值为null),定义方式改为:int? _value;(不要写int _value = 1;)
- 将
- 将DropdownButton的hint属性修改为你要展示的默认文本:
hint: const Text("categories")
- 将DropdownButton的hint属性修改为你要展示的默认文本:
- 可选配置:添加
isExpanded: true属性,避免下拉按钮文本溢出容器。
- 可选配置:添加
修改后完整代码示例:
// _value变量定义 int? _value; // 组件代码 Container( height: pageHeight / 15, padding: EdgeInsets.all(20), child:DropdownButton( value: _value, isExpanded: true, // 可选配置,适配容器宽度 items: const [ DropdownMenuItem( child: Text("First Item"), value: 1, ), DropdownMenuItem( child: Text("Second Item"), value: 2, ), ], onChanged: (value) { setState(() { _value = value as int?; }); }, hint: const Text("categories") ), )
修改后初始状态会显示categories,用户选择任意选项后会自动切换为对应选项的文本。
内容的提问来源于stack exchange,提问作者Navid Shokoufeh
相关产品推荐
相关产品推荐

