首页 > 其他分享 >25、Flutter中基本路由

25、Flutter中基本路由

时间:2023-12-25 15:01:16浏览次数:35  
标签:25 const State 跳转 override Flutter 路由

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,const,State,跳转,override,Flutter,路由
From: https://www.cnblogs.com/xbinbin/p/17875668.html

相关文章

  • flutter中背景图片(动态图片)
    单页面设置背景图片使用 Container 组件和 decoration 属性:优点:简单易用,适用于大多数情况下的页面背景设置。缺点:无法控制背景图片的位置和层级。classMyBookextendsStatelessWidget{constMyBook({super.key});@overrideWidgetbuild(BuildContextcontex......
  • 南外集训 2023.12.25 T1
    给定一个图,求\(s\)到\(t\)的最短路,其中路径的长度是其长度前\(k\)大边的长度和。\(n,k\le1000,m\le2000\)。做法枚举被算入的最小边权\(w\),所有小于\(w\)的边权都可以视为\(0\),而我们需要确保大于等于\(w\)的边至少走了\(k\)条。如何实现这一点呢?通过记录已......
  • VUE框架CLI组件化配置全局Router路由实现前置守卫鉴权效果------VUE框架
    //导入vue-router对象importVueRouterfrom"vue-router";importHebeifrom"../pages/hebei.vue";importHenanfrom"../pages/henan.vue";importCityfrom"../pages/city.vue";//创建路由器对象(在这个路由器对象中配置路由)constrouter=ne......
  • PoE交换机传输距离是多少?100米?250米?
    你们好,我的网工朋友。今天和你聊聊PoE交换机,之前有系统地给你讲解过一篇,可以先回顾一下哈:《啥样的交换机才叫高级交换机?这张图告诉你》为什么都说PoE交换机好?它最显著的特点就是:可以用一根网线同时传输数据和供电,不再需要昂贵电源和安装电源,很大程度上节省了费用和时间。这就自然会......
  • Flutter中 关于package:flutter/cupertino.dart和package:flutter/material.dart的区
    import'package:flutter/cupertino.dart';和import'package:flutter/material.dart';这两个语句分别用于导入Flutter框架中的不同部分,而且它们通常用于创建不同风格的用户界面。1.import'package:flutter/material.dart';:这是导入Material部分的语句,Material是一种设计......
  • flutter 桌面通知 气泡消息数量
    先上效果原理Android操作系统提供的NotificationManager接口来设置应用程序图标上的徽章iOS操作系统提供的UIApplication.shared.applicationIconBadgeNumber使用flutterflutterpubaddflutter_app_badger通过在启动退出时候更新气泡import'package......
  • 2023-12-25 无法正常关闭你的电脑 错误代码:0xc0000001 ==》试一下用windows命令【sfc
    最近我的电脑每次早上开机的时候就开始蓝屏,哪怕我晚上把它设置为睡眠模式,第二天打开还是不断蓝屏,对,不是一次,而是起码七八次!我的解决方案就是用命令去修复了一下,其实我在写这个随笔的时候我也不知道明天是否能够正常开机。先说导致蓝屏的代码:0xc0000001这个代码不一定能正确代表......
  • 牛客周赛:25
    模板A、小红购物跳转原题点击此:[A题地址](A-小红购物_牛客周赛Round25(nowcoder.com))1、题目大意  小红购买了n件物品,但是对其中部分商品不满意要退货,但是退货要收取手续费,手续为为\(max(5,\lfloor{该商品价格/100}\rfloor)\),问你小红最终需要支出多少钱。2、题目......
  • 2023-2024-1 20231425《计算机基础与程序设计》第十三周学习总结
    2023-2024-120231425《计算机基础与程序设计》第十三周学习总结2023-2024-120231425《计算机基础与程序设计》第十三周学习总结作业信息这个作业属于哪个课程2023-2024-1《计算机基础与程序设计》这个作业要求在哪里2023-2024-1计算机基础与程序设计第十周......
  • 2023-2024-1 20231325 《计算机基础与程序设计》第13周学习总结
    ###目录*作业信息*教材学习内容总结1.《c语言程序设计》第12章*基于AI的学习*上周错题*学习进度条作业信息这个作业属于哪个课程2023-2024-1《计算机基础与程序设计》这个作业的要求在哪里1.学习《C语言程序设计》第12章并完成云班课测试。作业正文......