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

Flutter运行报错LateInitializationError: filterValue未初始化如何解决?

错误原因

你用late关键字修饰了filterValue变量,该关键字要求你必须在变量被访问前完成赋值,但实际运行逻辑中:

  • 页面首次加载执行build方法时,会直接在Consumer组件的builder回调里调用filterValue
  • 此时你从未给filterValue赋过值,也没有触发过筛选菜单的选择操作,因此触发未初始化报错。

解决方法

给filterValue设置默认初始值即可,通常默认展示全部待办符合交互逻辑,直接修改变量声明代码:

// 把原来的 late String filterValue; 替换成下面的代码
String filterValue = 'All';

如果需要更规范的初始化方式,也可以在initState生命周期中赋值:

@override
void initState() {
  super.initState();
  filterValue = filteredAlternatives.first;
}

修改后首次页面加载时filterValue已经有有效值,后续点击筛选菜单选择选项后,setState会触发页面重绘,筛选逻辑也会正常生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:24:03