Flutter 页面返回传值

 

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");
}

完整代码 

查看完整代码

你可能感兴趣的:(Flutter,基础)