Flutter报错:类型‘StatefulWidget’未定义getter‘tasks’求助
问题排查与修复
错误根源
你的_TaskListState类继承State时未指定泛型参数,编译器默认将widget的类型推断为StatefulWidget,而StatefulWidget本身并没有定义tasks属性,因此触发该错误。
修复代码
修改_TaskListState的继承声明,明确指定泛型为TaskList:
class _TaskListState extends State<TaskList> { // 补充<TaskList>泛型 @override Widget build(BuildContext context) { return ListView.builder( itemBuilder: (context, index) { return TaskTile( taskTitle: widget.tasks[index].name, isChecked: widget.tasks[index].isDone, checkboxCallback: (checkboxState) { setState(() { widget.tasks[index].toggleDone(); }); }, ); }, itemCount: widget.tasks.length, ); } }
额外优化建议
为避免动态类型带来的潜在问题,建议给TaskList的tasks属性指定具体类型:
class TaskList extends StatefulWidget { TaskList({required this.tasks}); final List<Task> tasks; // 将List改为List<Task> @override _TaskListState createState() => _TaskListState(); }
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

