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

核心代码:

_navigateToAddress(BuildContext context) async{ //async是启用异步方法

    final result = await Navigator.push(//等待
context,
MaterialPageRoute(builder: (context)=> Address())
); Scaffold.of(context).showSnackBar(SnackBar(content:Text('$result')));
}

示例:

import 'package:flutter/material.dart';

void main(){
runApp(MaterialApp(
title:'页面跳转返回数据',
home:FirstPage()
));
} class FirstPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar:AppBar(title:Text("商品列表")),
body:Center(
child: RouteButton(),
)
);
}
} //跳转的Button
class RouteButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
return RaisedButton(
onPressed:(){
_navigateToAddress(context);
},
child: Text('选择地址'),
);
} _navigateToAddress(BuildContext context) async{ //async是启用异步方法 final result = await Navigator.push(//等待
context,
MaterialPageRoute(builder: (context)=> Address())
); Scaffold.of(context).showSnackBar(SnackBar(content:Text('$result')));
}
} class Address extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar:AppBar(
title:Text('地址列表')
),
body:Center(
child:Column(
children: <Widget>[
RaisedButton(
child: Text('地址一'),
onPressed: (){
Navigator.pop(context,'地址一:北京');
},
) ,
RaisedButton(
child: Text('地址二'),
onPressed: (){
Navigator.pop(context,'地址二:上海');
},
) ,
],
)
) ,
);
}
}

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. 国际化(i18n) 各国语言缩写

    internationalization (国际化)简称:i18n,因为在i和n之间还有18个字符,localization(本地化 ),简称L10n. 一般用语言_地区的形式表示一种语言,如:zh_ ...

  2. Java精通并发-透过openjdk源码分析wait与notify方法的本地实现

    上一次https://www.cnblogs.com/webor2006/p/11442551.html中通过openjdk从c++的底层来审视了ObjectMonitor的底层实现,这次继续来探究底 ...

  3. 《少年先疯队》第九次团队作业:Beta冲刺第二天

    2.1 今日完成任务情况 姚玉婷:房间管理功能测试文档的编写 马丽莎:酒店系统中商品管理功能的完善 张   琼:商品管理功能的测试 孙苗坤:商品管理功能的测试 2.2 明天任务安排 姚玉婷:酒店系统中 ...

  4. 《代码敲不队》第九次团队作业:Beta冲刺第3天

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 代码敲不队 作业学习目标 (1)项目文档的完善与整理:(2)团队项目总结陈述PPT编制:(3)符合 ...

  5. 《The One!团队》第八次作业:ALPHA冲刺(三)

    项目 内容 作业所属课程 所属课程 作业要求 作业要求 团队名称 < The One !> 作业学习目标 (1)掌握软件测试基础技术.(2)学习迭代式增量软件开发过程(Scrum) 第三天 ...

  6. Oracle 按指定顺序排序

    select * from (select 'Nick' as item from dual union all select 'Viki' as item from dual union all s ...

  7. 开启idea自动Build功能

    修改Intellij IDEA的配置两步:1.setting -> Compile -> Build project automatically --> 选中 2.CTRL + SH ...

  8.  Django REST framework解析器和渲染器

    解析器 解析器的作用 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己可以处理的数据.本质就是对请求体中的数据进行解析. 在了解解析器之前,我们要先知道Accept以及ContentTy ...

  9. 判断指定对象是否进入浏览器可视窗口,true 进入,false 没进入

    //判断指定对象是否进入浏览器可视窗口,true 进入,false 没进入 var $win = $(window);//jQuery 的 window 对象 即:文档对象 function isVi ...

  10. Greenplum 激活standby 和恢复 master 原有角色

    当Greenplum segment的primary出现问题时,FTS会监测到,GP会自动激活mirror.但是对于GP的master节点,虽然有standby,但是GP并不会自动来完成master和 ...