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
相关产品推荐
相关产品推荐

