flutter 关于路由跳转方法封装以及关闭页面、弹窗等等模块

本文详细介绍了在Flutter应用中使用MaterialApp注册的路由器进行页面跳转的方法,包括已注册页面的处理、未注册页面的路由操作,以及关闭功能和获取参数的函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.基于注册的路由器或者是[MaterialApp]注册的路由器

/// [context]上下文
/// [pageName]页面名称
/// [params]参数
/// [replace] 是否将当前页面从路由中移除
/// [clear] 是否清除
Future<dynamic> open(BuildContext context, String pageName,
    {Object? params, bool replace = false, bool clear = false}) {
  var route = router(RouteSettings(name: pageName, arguments: params));

  if (route != null) {
    if (clear || pageName == homePageName) {
      return Navigator.pushAndRemoveUntil(context, route, (route) => false);
    } else if (replace) {
      return Navigator.pushReplacement(context, route);
    } else {
      return Navigator.push(context, route);
    }
  } else {
    if (pageName == homePageName) {
      return Navigator.pushNamedAndRemoveUntil(
          context, pageName, (route) => false,
          arguments: params);
    } else if (replace) {
      return Navigator.pushReplacementNamed(context, pageName,
          arguments: para
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值