Flutter页面跳转返回数据
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页面跳转返回数据的更多相关文章
- Android first --- 页面跳转及数据传递
页面跳转即数据传递 创建第二个界面Acivity *需要在清单文件中添加配置一个Actuvity标签 标签中如果带有这个子节点,则会在Android中添加一个快捷图标 <intent-filte ...
- iOS页面跳转及数据传递
转: http://blog.csdn.net/wang9834664/article/details/8025571 iOS页面跳转: 第一种 [self.navigationController ...
- Android应用开发基础之六:页面跳转和数据传递
创建第二个Activity 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-filter> <action ...
- Android初级教程理论知识(第五章页面跳转和数据传递)
总体概述: Android四大组件 Activity BroadCastReceiver Service ContentProvider 创建第二个activity 新创建的activity,必须在清 ...
- flutter -------- 页面跳转和传值
在安卓原生开发中,页面跳转可以用Intent类来具体实现: Intent intent =new Intent(MainActivity.this,second.class); startActivi ...
- 微信小程序 页面跳转传递数据
点击view 跳转页面 <view class="album_image" data-album-obj="{{item}}" bindtap=" ...
- vue滚动行为控制——页面跳转返回上一个页面保留滚动位置
需求分析: 一般这个功能在后台管理系统用的比较多,因为后台页面都是在当前页面打开,对于某些列表筛选页,如果列表数据比较多,页面就会滚动.当页面发生滚动,对列表数据进行查看或者编辑的时候,跳转到下一级页 ...
- android 学习随笔十四(页面跳转与数据传递)
1.activity 创建第二个Activity 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-filter> ...
- android 页面跳转,数据回传
package com.example.firstpg.firstpg; import android.support.v7.app.ActionBarActivity; import android ...
随机推荐
- selenium常用的API(三)获取网页title、html源码
获取网页title 获取页面title的方法可以直接用driver.title获取到,然后可以把获取到的结果用做断言. #encoding=utf-8 from selenium import web ...
- 微信小程序~App.js中登录
(1)初始化项目中App.js登录代码 // 登录 wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, u ...
- P1772 [ZJOI2006]物流运输[DP+最短路]
题目描述 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪. ...
- 题解 洛谷P2189 【小Z的传感器】
这题就是考察什么时候建边,貌似和搜索没有半毛钱关系\(qwq\) 首先没有传感器的房间是可以随便走来走去的,因为我们不用考虑顺序.于是就考虑先把这些点的相互的边给建起来. 接下来分析一波,对于第\(i ...
- 《3+1团队》【Beta】Scrum meeting 2
项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 3+1团队 团队博客地址 https://home.cnblogs.com/u/3-1group ...
- Analysis of algorithms: observation
例子: 3-Sum 给定N个整数,这里面有多少个三元组,使其三个整数相加为0,如上面的例子为有4个三元组. 这个问题是许多问题如计算机几何,图形学等的基础. 用简单粗暴的方式来解决3-Sum问题 通过 ...
- java设计模式解析(11) Chain责任链模式
设计模式系列文章 java设计模式解析(1) Observer观察者模式 java设计模式解析(2) Proxy代理模式 java设计模式解析(3) Factory工厂模式 java设计模式解析(4) ...
- [CodeForces - 906D] Power Tower——扩展欧拉定理
题意 给你 $n$ 个 $w_i$ 和一个数 $p$,$q$个询问,每次询问一个区间 $[l,r] $,求 $w_l ^{w_{l+1}^{{\vdots}^{w_r}}} \ \% p$ 分析 由扩 ...
- JS AJAX和JSONP的基础功能封装以及使用示例;
1.代码: function ajax(options){ options = options || {}; options.type = options.type || "get" ...
- java.security KeyPairGenerator
KeyPairGenerator 类用于生成公钥和私钥对.密钥对生成器是使用 getInstance 工厂方法(返回一个给定类的实例的静态方法)构造的. 特定算法的密钥对生成器可以创建能够与此算法一起 ...