Flutter中如何不显示下拉菜单的选中项?
解决Flutter下拉菜单不显示选中项仅存变量的问题
你需要让DropdownButton2仅作为触发下拉选择的入口,不展示选中内容,只在后台将选中值存入变量。可以通过以下方式实现:
- 覆盖DropdownButton2的按钮区域内容,避免它默认显示选中项文本
- 保留
onChanged逻辑更新存储选中值的变量
修改后的完整代码:
DropdownButtonHideUnderline( child: DropdownButton2( // 若需要下拉菜单内高亮选中项,可保留value绑定;仅隐藏按钮区域文本的话也可移除 value: dropdownValue, // 自定义按钮内容,只显示触发图标,不展示选中项 buttonChild: const Icon( Icons.more_vert, color: Colors.white, ), // 下拉选项列表 items: items.map((String items) { return DropdownMenuItem( value: items, child: Text( items, style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold), ), ); }).toList(), onChanged: (String? newValue) { setState(() { dropdownValue = newValue!; // 将选中项存入变量 }); }, ), )
补充说明:
- 保留
value属性时,下拉菜单内会自动高亮选中的选项,但按钮区域依然显示你自定义的buttonChild内容,不会透出选中项文本 buttonChild可替换为任意Widget,比如带图标容器、固定文字按钮等,完全自定义触发按钮的样式
内容的提问来源于stack exchange,提问作者F sam
相关产品推荐
相关产品推荐

