美文网首页
路由跳转

路由跳转

作者: 乐狐 | 来源:发表于2022-07-04 09:00 被阅读0次
路由管理.png 路由.png
import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
    home: const PageA(),
    //打开App时进入的页面
    initialRoute: "pageA",
    //注册命名路由
    routes: {
      "pageA": (context) => const PageA(),
    },
  ));
}

class PageA extends StatelessWidget {
  const PageA({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("PageA"),
      ),
      body: Center(
        child: ElevatedButton(
          child: const Text("去页面B"),
          onPressed: () async {
            var rst = await Navigator.push(context,
                MaterialPageRoute(builder: (context) {
              return const PageB();
            }));
            print("返回参数: $rst");
          },
        ),
      ),
    );
  }
}

class PageB extends StatelessWidget {
  const PageB({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("PageB"),
      ),
      body: Column(
        children: [
          ElevatedButton(
            child: const Text("去页面C"),
            onPressed: () {
              Navigator.push(context, MaterialPageRoute(builder: (context) {
                return const PageC();
              }));
            },
          ),
          ElevatedButton(
            child: const Text("返回页面A"),
            onPressed: () {
              //返回上一页面
              Navigator.pop(context, "返回参数");
            },
          ),
        ],
      ),
    );
  }
}

class PageC extends StatelessWidget {
  const PageC({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("PageC"),
      ),
      body: Center(
        child: ElevatedButton(
          child: const Text("去页面A"),
          onPressed: () {
            //使用命名路由
            Navigator.pushReplacementNamed(context, "pageA");
          },
        ),
      ),
    );
  }
}

相关文章

网友评论

      本文标题:路由跳转

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