Flutter无法在页面间传值 ListView传index到第二页提示未定义
Flutter StatefulWidget 接收传参报错解决方案
问题原因
你在State类中直接访问index会报未定义错误,是因为index是父级beforeMainCheckList Widget类的成员属性,不属于当前_beforeMainCheckListState类的作用域,State类访问所属Widget的属性必须加widget.前缀。
解决方法
在所有需要用到index的位置,将index替换为widget.index即可。
示例代码
class _beforeMainCheckListState extends State<beforeMainCheckList> { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( // 正确写法:通过widget访问传入的index参数 title: Text("第${widget.index}项检查清单"), ), body: Center( child: Text("当前传递的索引值为:${widget.index}"), ), ); } }
额外规范建议
Dart官方推荐类名使用大驼峰命名法,建议将beforeMainCheckList修改为BeforeMainCheckList,符合代码规范的同时也能提升代码可读性。
内容的提问来源于stack exchange,提问作者GDTyka
相关产品推荐
相关产品推荐

