来自另一个屏幕的数据

问题描述 投票:0回答:1

我在 Flutter 框架上实现了一个应用程序。我是颤振新手,我不知道如何将数据传递到新屏幕。有人告诉我你应该在你的应用程序中使用命名路由,所以我尝试了它。但现在我不知道如何将数据从一个屏幕传递到另一个屏幕。

这些是我的 MaterialApp 中的路线:



routes: {
    '/': (context) => FirstPage(),
    '/second': (context) => SecondPage(),
    '/third': (context) => ThirdPage(),
},

这就是我通常导航到新屏幕的方式:



onPressed: () { 
    Navigator.pushNamed(context, '/second');
},

我想在导航到新屏幕时将数据传递到新屏幕。

flutter dart navigation
1个回答
0
投票

您只需要传递参数即可。首先在您想要传递数据的文件中提取参数,如下所示:

final args = ModalRoute.of(context)!.settings.arguments as Map<String, dynamic>;
final data = args['data'];
return Scaffold(
     body: Center(
       child: Column(
         mainAxisAlignment: MainAxisAlignment.center,
         children: [
           Text('$data'),
         ],
      ),
   ),
);

现在您浏览页面的位置只需传递如下参数:

Navigator.pushNamed(context, '/second',
         arguments: {'data': 'Data from previous screen'});

一切就绪。我希望这可以帮助你。快乐编码...

© www.soinside.com 2019 - 2024. All rights reserved.