Flutter 页面返回传值需要注意的几点如下:
1、跳转页面时要使用async关键字修饰方法体 声明内部代码需要延迟执行
skipPage(BuildContext context) async { }
2、跳转动作要使用await关键字修饰(Dart规定有async标记的函数,只能由await来调用) 声明延迟执行后赋值
final result = await Navigator.push(context,MaterialPageRoute(builder: (context) => PageA()));
3、返回页面时传值
Navigator.pop(context, '我是返回数据');
示例代码
//完整跳转页面 接收返参 代码片段
RaisedButton(child: Text('跳转页面'),onPressed: () async {final result = await Navigator.push(context,MaterialPageRoute(builder: (context) => PageA()),);print("$result");},
)
当然,我们也可以这样写
//完整跳转页面 接收返参 代码片段 另一种写法
RaisedButton(child: Text('跳转页面'),onPressed: () {skipPage(context);},
)skipPage(BuildContext context) async {final result = await Navigator.push(context,MaterialPageRoute(builder: (context) => PageA()),);print("$result");
}
完整代码
查看完整代码