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

Flutter页面间传值跳转后显示null,附相关代码求修复方案

问题修复方案

1. 移除子页面嵌套的MaterialApp

你在AddBasicInfo页面的build方法中返回了新的MaterialApp,会生成独立的路由上下文,和应用根路由栈隔离,容易导致传值异常。直接将return MaterialApp()....修改为返回Scaffold组件即可,MaterialApp只需要在应用启动的根组件中声明一次。

2. State类中正确访问传入参数

MarriageInfo的State类访问父组件传入的参数时,必须添加widget.前缀,否则会读取不到值,示例代码如下:

class _MarriageInfoState extends State<MarriageInfo> {
  @override
  Widget build(BuildContext context) {
    // 正确调用方式:widget.参数名
    return Scaffold(
      body: Center(child: Text(widget.passingValue)),
    );
  }
}

3. 如需传递data1数据,直接新增构造参数即可

如果你需要把页面1定义的data1数组也传递到目标页面,按照如下方式修改:

  • 首先修改MarriageInfo的构造参数:
class MarriageInfo extends StatefulWidget {
  final String passingValue;
  // 新增data1参数
  final List<Map<String, dynamic>> data1;
  const MarriageInfo({
    Key? key, 
    required this.passingValue,
    required this.data1
  }) : super(key: key);
  @override
  _MarriageInfoState createState() => _MarriageInfoState();
}
  • 跳转时传入data1:
Navigator.push(
  context,
  MaterialPageRoute(
    builder: (context) => MarriageInfo(
      passingValue: passingValue,
      data1: data1,
    ),
  ),
);

4. 修正代码语法错误

你贴出的代码中存在括号未闭合、多余大括号的语法问题,修复后确保inputName、_selectedGender、dobDate等变量已提前声明赋值,跳转前确认变量值不为空。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 09:12:05