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

Flutter应用点击DropdownButton时崩溃的问题如何解决?

问题原因
  • 该报错是Flutter 2.x ~ 3.0.x版本的原生已知Bug,DropdownButton首次渲染时未提前完成全局布局坐标计算,触发下拉菜单时高度校验断言失败导致崩溃。先点击TextFormField等组件会触发页面全局重绘,此时下拉菜单高度计算恢复正常,因此不会触发崩溃。
解决方案

可任选以下任意一种方案修复:

  • 方案1:给DropdownButton显式指定itemHeight属性,适配系统默认样式可直接赋值为kMinInteractiveDimension(Flutter内置的标准交互组件最小高度,默认值为48);如果自定义了DropdownMenuItem的高度,直接赋值为自定义的高度值即可。
    核心修改示例:
    DropdownButton<String>(
      value: dropdownValue,
      itemHeight: kMinInteractiveDimension, // 新增该行
      icon: const Icon(Icons.arrow_downward),
      iconSize: 24,
      elevation: 16,
      underline: SizedBox(),
      // 剩余原有代码保持不变
    )
    
  • 方案2:将Flutter SDK升级到3.3及以上正式版本,官方已在后续版本中修复了该断言校验逻辑的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:24:03