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

Flutter传递自定义Lesson对象至ExamScreen时遇Invalid constant value错误

解决Invalid constant value错误

错误原因

你在调用ExamScreen时使用了const关键字:

navigateTo(context, const ExamScreen(lesson: lesson,));

const构造函数要求所有传入的参数必须是编译时常量,但lesson是运行时传入的变量,无法在编译阶段确定其值,因此不符合const的要求,触发错误。

解决方案

去掉const关键字,直接创建ExamScreen实例即可:

navigateTo(context, ExamScreen(lesson: lesson));

如果后续不需要ExamScreen作为常量实例使用,也可以直接将其构造函数的const修饰符移除,避免后续误用:

class ExamScreen extends StatefulWidget {
  final Lesson? lesson;
  ExamScreen({super.key, this.lesson}); // 移除const

  @override
  State<ExamScreen> createState() => _ExamScreenState();
}

内容的提问来源于stack exchange,提问作者Ahmed El Sayed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 22:42:06