Dart中的异步请求和等待和ES6中的方法很像,直接使用async...await就可以实现。

核心代码:

  1. _navigateToAddress(BuildContext context) async{ //async是启用异步方法
  2.  
  3. final result = await Navigator.push(//等待
  4. context,
  5. MaterialPageRoute(builder: (context)=> Address())
  6. );
  7.  
  8. Scaffold.of(context).showSnackBar(SnackBar(content:Text('$result')));
  9. }

示例:

  1. import 'package:flutter/material.dart';
  2.  
  3. void main(){
  4. runApp(MaterialApp(
  5. title:'页面跳转返回数据',
  6. home:FirstPage()
  7. ));
  8. }
  9.  
  10. class FirstPage extends StatelessWidget {
  11. @override
  12. Widget build(BuildContext context) {
  13. return Scaffold(
  14. appBar:AppBar(title:Text("商品列表")),
  15. body:Center(
  16. child: RouteButton(),
  17. )
  18. );
  19. }
  20. }
  21.  
  22. //跳转的Button
  23. class RouteButton extends StatelessWidget {
  24. @override
  25. Widget build(BuildContext context) {
  26. return RaisedButton(
  27. onPressed:(){
  28. _navigateToAddress(context);
  29. },
  30. child: Text('选择地址'),
  31. );
  32. }
  33.  
  34. _navigateToAddress(BuildContext context) async{ //async是启用异步方法
  35.  
  36. final result = await Navigator.push(//等待
  37. context,
  38. MaterialPageRoute(builder: (context)=> Address())
  39. );
  40.  
  41. Scaffold.of(context).showSnackBar(SnackBar(content:Text('$result')));
  42. }
  43. }
  44.  
  45. class Address extends StatelessWidget {
  46. @override
  47. Widget build(BuildContext context) {
  48. return Scaffold(
  49. appBar:AppBar(
  50. title:Text('地址列表')
  51. ),
  52. body:Center(
  53. child:Column(
  54. children: <Widget>[
  55. RaisedButton(
  56. child: Text('地址一'),
  57. onPressed: (){
  58. Navigator.pop(context,'地址一:北京');
  59. },
  60. ) ,
  61. RaisedButton(
  62. child: Text('地址二'),
  63. onPressed: (){
  64. Navigator.pop(context,'地址二:上海');
  65. },
  66. ) ,
  67. ],
  68. )
  69. ) ,
  70. );
  71. }
  72. }

Flutter页面跳转返回数据的更多相关文章

  1. Android first --- 页面跳转及数据传递

    页面跳转即数据传递 创建第二个界面Acivity *需要在清单文件中添加配置一个Actuvity标签 标签中如果带有这个子节点,则会在Android中添加一个快捷图标 <intent-filte ...

  2. iOS页面跳转及数据传递

    转: http://blog.csdn.net/wang9834664/article/details/8025571 iOS页面跳转: 第一种 [self.navigationController  ...

  3. Android应用开发基础之六:页面跳转和数据传递

    创建第二个Activity 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-filter> <action ...

  4. Android初级教程理论知识(第五章页面跳转和数据传递)

    总体概述: Android四大组件 Activity BroadCastReceiver Service ContentProvider 创建第二个activity 新创建的activity,必须在清 ...

  5. flutter -------- 页面跳转和传值

    在安卓原生开发中,页面跳转可以用Intent类来具体实现: Intent intent =new Intent(MainActivity.this,second.class); startActivi ...

  6. 微信小程序 页面跳转传递数据

    点击view 跳转页面 <view class="album_image" data-album-obj="{{item}}" bindtap=" ...

  7. vue滚动行为控制——页面跳转返回上一个页面保留滚动位置

    需求分析: 一般这个功能在后台管理系统用的比较多,因为后台页面都是在当前页面打开,对于某些列表筛选页,如果列表数据比较多,页面就会滚动.当页面发生滚动,对列表数据进行查看或者编辑的时候,跳转到下一级页 ...

  8. android 学习随笔十四(页面跳转与数据传递)

    1.activity 创建第二个Activity 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-filter> ...

  9. android 页面跳转,数据回传

    package com.example.firstpg.firstpg; import android.support.v7.app.ActionBarActivity; import android ...

随机推荐

  1. "人工智能",你怕了吗?

    近期“人工智能+”,已经是市场上非常火的一个风口,人工智能已经渗透到人类生活的方方面面,服务于我们的生活.但是人工智能的迅速发展,也引起了我的担忧,一系列科技电影展示出来的人工智能奴役人类的场景,让人 ...

  2. RBF神经网络——直接看公式,本质上就是非线性变换后的线性变化(RBF神经网络的思想是将低维空间非线性不可分问题转换成高维空间线性可分问题)

    Deeplearning Algorithms tutorial 谷歌的人工智能位于全球前列,在图像识别.语音识别.无人驾驶等技术上都已经落地.而百度实质意义上扛起了国内的人工智能的大旗,覆盖无人驾驶 ...

  3. selenium常用的API(一)截屏

    我们在使用selenium测试过程中,可使用截屏功能将用例执行失败的画面截图保存,方便测试执行结束后查看并定位问题. 以下介绍两种截屏方法: 对当前浏览器窗口截屏 使用selenium自带的get_s ...

  4. 03 c++中this指针

    概念: 成员函数:在类中定义的函数.普通函数无法被继承,成员函数可以被继承.友元函数相当于普通函数. 友元函数不是类的组成,没有this指针,必须将成员函数操作符作为参数传递对象. 在c++中成员函数 ...

  5. 「AHOI / HNOI2017」礼物

    「AHOI / HNOI2017」礼物 题目描述 我的室友最近喜欢上了一个可爱的小女生.马上就要到她的生日了,他决定买一对情侣手环,一个留给自己,一个送给她.每个手环上各有 n 个装饰物,并且每个装饰 ...

  6. 使用VISIO绘制组织结构图的操作方法

    1.确保电脑已安装VISIO软件,然后在电脑指定位置点击鼠标右键新建VISIO绘图文档. 2.打开文档,在弹出的选择绘图类型中点击商务.组织结构图,之后点击确定. 3.之后进入绘图主界面,在左侧是形状 ...

  7. Spring源码窥探之:FactoryBean

    1. 定义Fish实体类 /** * @author 70KG * @Title: Fish * @Description: * @date 2018/7/22下午5:00 * @From www.n ...

  8. 二次封装Response类 | 视图类传递参数给序列化类context

    二次封装Response类 源码: class Response(SimpleTemplateResponse): """ An HttpResponse that al ...

  9. 学习Spring-Data-Jpa(三)---关联关系常用注解

    1.@JoinColumn: 用于指定 连接实体关联或元素集合的列. 属性 name: 外键列的名称,它所在的表取决于上下文. 如果连接是使用外键映射策略的一对一或多对一映射,则外键列位于源实体或可嵌 ...

  10. 如何识别和解决SQL Server中的热闩锁(PAGELATCH_EX)

    描述 在SQL Server中,内部闩锁体系结构可在SQL操作期间保护内存.通过页面上的读写操作,可以确保内存结构的一致性.从根本上讲,它具有两个类:缓冲区锁存器和非缓冲区锁存器,它们在SQL Eng ...