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

Flutter中如何将ReqDetailModel对象从一个页面传递到另一个页面?

解决Flutter页面间传递ReqDetailModel对象的问题

步骤1:修改第二个页面的StatefulWidget,添加参数接收

在SendMessageScreen的构造函数中添加ReqDetailModel类型的必填参数:

class SendMessageScreen extends StatefulWidget {
  final ReqDetailModel reqDetail;

  const SendMessageScreen({super.key, required this.reqDetail});

  @override
  State<SendMessageScreen> createState() => _SendMessageScreenState();
}

步骤2:在第一个页面跳转时传入对象

假设你已经有一个ReqDetailModel的实例(比如命名为reqDetail),在按钮点击时将它传入SendMessageScreen:

onPressed: () {
  Navigator.of(context)
      .push(MaterialPageRoute(builder: (_) => SendMessageScreen(reqDetail: reqDetail)));
},

步骤3:在第二个页面的State中使用传递的对象

在_SendMessageScreenState里,通过widget.reqDetail访问传递过来的对象:

class _SendMessageScreenState extends State<SendMessageScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('发送消息')),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        // 示例:使用对象的属性,根据你的实际字段调整
        child: Text('请求标题:${widget.reqDetail.title}'),
      ),
    );
  }
}

注意事项

  • 确保ReqDetailModel是合法的Dart类,字段可正常访问
  • 普通页面跳转直接传内存对象即可满足需求;若需跨进程/持久化传递,可让ReqDetailModel实现序列化(比如用json_serializable插件)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 12:14:55