Flutter 案例学习之:Navigation

作者: 与蟒唯舞 | 来源:发表于2018-09-12 15:30 被阅读47次

GitHub:https://github.com/happy-python/flutter_demos/tree/master/navigation_demo

lib/main.dart

import 'package:flutter/material.dart';
import 'package:navigation_demo/pages/homepage.dart';
import 'package:navigation_demo/pages/adddatapage.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "Flutter Tutorial",
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      routes: {
        "/": (BuildContext context) => HomePage(),
        "/add": (BuildContext context) => AddDataPage(),
      },
      initialRoute: "/",
    );
  }
}

注意这里的 routesinitialRoute 属性。

lib/pages/homepage.dartlib/pages/adddatapage.dart 导航的时候,使用 Navigator.pushNamed 替代了 Navigator.push

Navigator.push(
  context,
  MaterialPageRoute(
    builder: (BuildContext context) => AddDataPage(),
  )).then((value) {
  print("接收返回的数据: $value");
});
Navigator.pushNamed(context, "/add").then((value) {
  print("接收返回的数据: $value");     
});

lib/pages/adddatapage.dartlib/pages/homepage.dart 返回的时候,使用 Navigator.pop 可以向上一个页面传值。

// 返回数据
Navigator.pop(context, "数据");

相关文章

网友评论

    本文标题:Flutter 案例学习之:Navigation

    本文链接:https://www.haomeiwen.com/subject/uapvgftx.html