You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter使用Map配置DropdownButton时出现值匹配报错如何解决

报错原因

DropdownButton的value属性要求必须和所有DropdownMenuItem提供的value值中的某一个完全相等,你这里出现了取值不匹配的问题:

  • 你给DropdownButton的value传的是_options[dropDownValue],也就是Map的展示值,默认状态下对应内容为Все подряд
  • 但你定义DropdownMenuItem时,给每个选项配置的value是Map的键,比如created、rating这类取值
    两边取值来源不一致,找不到匹配项,所以触发了对应的报错。
解决方案

直接修改DropdownButton的value属性取值即可,将:

value: _options[dropDownValue],

修改为:

value: dropDownValue,

dropDownValue存储的是当前选中项的键,和所有DropdownMenuItem的value取值完全对应,既可以正常匹配默认选中项,也不会影响你后续把选中的键回传给父组件的逻辑,selectedItemBuilder内的展示逻辑不需要调整。

内容的提问来源于stack exchange,提问作者Otabek Ochilov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 19:06:05