Flutter 路由介绍

Flutter中的路由通俗的讲就是页面跳转。在Flutter中通过Navigator组件管理路由导航。
并提供了管理堆栈的方法。如:Navigator.push和Navigator.pop
Flutter中给我们提供了两种配置路由跳转的方式:1、基本路由 2、命名路由

Flutter 中的基本路由使用

想从HomePage组件跳转到SearchPage组件

1、需要在HomPage中引入SearchPage.dart

import '../search.dart';

2、在HomePage中通过下面方法跳转

class HomePage extends StatefulWidget {
const HomePage({super.key}); @override
State<HomePage> createState() => _nameState();
} // ignore: camel_case_types
class _nameState extends State<HomePage> {
@override
Widget build(BuildContext context) {
return Column(
children: [
ElevatedButton(onPressed: (){
Navigator.of(context).push(
MaterialPageRoute(builder:
(BuildContext context){
return SearchPage();
}
)
);
}, child: const Text("跳转页面"))
],
);
}
}

Flutter 中的普通路由跳转传值

1、传值
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _nameState();
}
// ignore: camel_case_types
class _nameState extends State<HomePage> {
@override
Widget build(BuildContext context) {
return Column(
children: [
ElevatedButton(onPressed: (){
Navigator.of(context).push(
MaterialPageRoute(builder:
(BuildContext context){
return const SearchApp(title: "传的参数",Id: 12,); //传参
} )
);
}, child: const Text("跳转传值"))
],
); }}
2、跳转页面后收参
//接受上个页面传的参数
class SearchApp extends StatefulWidget { final String title;
final int Id;
const SearchApp({super.key,this.title="默认值", required this.Id}); //收参
@override
State<SearchApp> createState() => _SearchAppState();
} class _SearchAppState extends State<SearchApp> { @override
void initState() { //initState() 方法是 State 对象创建后的第一个方法,用于初始化数据和执行一次性的设置或操作。
super.initState();
print(widget.Id);
}
@override
Widget build(BuildContext context) { return Scaffold(
appBar: AppBar(
title: const Text("跳转后的页面导航栏"),
), body: Center(
child: Text("收到的参数:${widget.title}"),
),
);
}}

25、Flutter中基本路由的更多相关文章

  1. Flutter中管理路由栈的方法和应用

    原文地址:https://www.jianshu.com/p/5df089d360e4 本文首先讲的Flutter中的路由,然后主要讲下Flutter中栈管理的几种方法. 了解下Route和Navig ...

  2. Flutter 中的路由

    Flutter 中的路由通俗的讲就是页面跳转.在 Flutter 中通过 Navigator 组件管理路由导航. 并提供了管理堆栈的方法.如:Navigator.push 和 Navigator.po ...

  3. Flutter中的路由 路由替换 返回到根路由

    一.Flutter 中返回到上一级页面 Navigator.of(context).pop(); 二.Flutter 中替换路由 比如我们从用户中心页面跳转到了 registerFirst 页面,然后 ...

  4. flutter中的路由跳转

    在前面的基本路由和命名路由中,都演示了如何进行路由跳转,并且在路由跳转以后,可以借用系统自带的按钮就行返回上一级,当然了,也可以自定义按钮返回上一级. 返回上一级 在前面的例子中,当从Home.dar ...

  5. 25.Flutter中的表单 Radio RadioListTile Switch SwitchListTile 以及表单组件实现一个简单的学员登记系统(下)

    四.Radio.RadioListTile单选按钮组件 Radio常用属性: value单选的值. onChanged改变时触发. activeColor:选中的颜色.背景颜色 groupValue: ...

  6. Flutter中的普通路由与命名路由(Navigator组件)

    Flutter 中的路由通俗的讲就是页面跳转.在 Flutter 中通过 Navigator 组件管理路由导航.并提供了管理堆栈的方法.如:Navigator.push 和 Navigator.pop ...

  7. Flutter 中的基本路由

    Flutter 中的路由通俗的讲就是页面跳转.在 Flutter 中通过 Navigator 组件管理路由导航,并提供了管理堆栈的方法.如:Navigator.push 和 Navigator.pop ...

  8. Flutter 中的普通路由、普通路由传值、 命名路由、命名路由传值

    一.Flutter 中的路由 Flutter 中的路由通俗的讲就是页面跳转.在 Flutter 中通过 Navigator 组件管理路由导航.并提供了管理堆栈的方法.如:Navigator.push ...

  9. 16Flutter中的路由 基本路由 基本路由跳转传值(上)

    /* Flutter中的普通路由.普通路由传值.命名路由.命名路由传值 Flutter中的路由通俗的讲就是页面跳转.在Flutter中通过Navigator组件管理路由导航. 并提供了管理堆栈的方法. ...

  10. flutter中的命名路由

    命名路由是区别于基本路由的一种存在,方便于大型项目中路由的统一管理,现在,在前面基本路由的项目基础上实现实现命名路由. 使用步骤 路由配置 命名路由在使用前,需要在根组件main.dart中进行简单的 ...

随机推荐

  1. go使用snmp库查询mib数据

    转载请注明出处: OID(Object Identifier)是一种用于标识和唯一命名管理信息库中的对象的标准方式.给定一个OID,可以确定特定的管理信息库对象,并对其进行操作. go语言使用snmp ...

  2. kubernetes 概述

    云原生的发展 云原生是一条最佳路径或者最佳实践.更详细的说,云原生为用户指定了一条低心智负担的.敏捷的.能够以可扩展.可复制的方式最大化地利用云的能力.发挥云的价值的最佳路径.因此,云原生其实是一套指 ...

  3. Android 使用 ContentProvider 简单操作数据库

    ContentProvider 可以用来原生读写 Android 自带的数据库 SQLite. 使用 Studio 创建一个 ContentProvider, 名字叫 TestContentProvi ...

  4. Ubuntu环境下C++使用onnxruntime和Opencv进行YOLOv8模型部署

    目录 环境配置 系统环境 项目文件路径 文件环境 config.txt CMakeLists.txt type.names 读取config.txt配置文件 修改图片尺寸格式 读取缺陷标志文件 生成缺 ...

  5. 通过计算巢轻松部署 Ansible Semaphore

    概述 Ansible Semaphore 是一个现代化的 Ansible 用户界面.可以轻松运行 Ansible Playbook,获取有关失败的通知,并控制部署系统的访问权限.如果你的项目已经发展壮 ...

  6. Spring Boot 关闭 Actuator ,满足安全工具扫描

    应用被安全工具,扫描出漏洞信息 [MSS]SpringBoot Actuator敏感接口未授权访问漏洞(Actuator)事件发现通告: 发现时间:2023-11-25 19:47:17 攻击时间:2 ...

  7. Acwing4244牛的比赛

    Acwing4244.牛的比赛 题目部分 N 头奶牛,编号 1∼N,一起参加比赛. 奶牛的战斗力两两不同. 这些奶牛之间已经进行了 M轮两两对决. 在对决中,战斗力高的奶牛一定会战胜战斗力低的奶牛. ...

  8. 通过Span实现高性能数组,实例解析

    Span<T> 是 C# 7.2 引入的一个强大的数据结构,用于表示内存中的一块连续数据.它可以用于实现高性能的数组操作,而无需额外的内存分配.在本文中,我将详细介绍如何使用 Span&l ...

  9. 2023你需要使用的最佳VSCode扩展插件

    选择最佳的 Visual Studio Code(以下简称 VSCode) 扩展插件对于提高开发效率和改善编程体验非常重要. 下面将详细介绍一些广受欢迎且功能丰富的 VSCode 扩展插件,包括编辑器 ...

  10. keil 5 安装教程

    一.下载 keil 官网 二.安装教程 1.开始安装 双击安装包,开始安装,直接下一步 2.勾选同意,下一步 3.选择软件安装路径,下一步 4.填写信息 可以随意填写,下一步. 5.等待安装 6.安装 ...