草庐IT

layered-navigation

全部标签

flutter - 为什么在 flutter 中调用 Navigator.of(context).pushNamed(..) 时会构建两次小部件?

下面类TestWidget中的build函数在执行导航代码时被调用两次。TestWidget在控制台上打印了两次。有谁知道为什么会这样?classTestWidgetextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){print("TestWidget");returnnewScaffold(body:newText("TESTWIDGET"),);}}导航代码:Navigator.of(context).pushNamed(AppRoutes.fieldData);`路线定义:AppRoutes.field

Flutter navigator.push() 对象问题

当使用Navigator.push()将一个对象从一个类传递到另一个类时,即使该对象声明为非最终对象,也不会对其进行修改。主屏幕:创建一个对象(userBean)并传递给第一个屏幕第一个屏幕:显示相同的对象(userBean)值,并将相同的对象(userBean)再次传递到第二个屏幕。第二屏:尝试在第二屏修改相同的对象(userBean),并使用refreshData.then方法在第一屏打印相同的对象(userBean)。Main.dartimport'package:flutter/material.dart';import'package:flutter_app_poc1/fir

dart - 有没有办法限制 Navigation Stack 在 Flutter App 中可以维护的页面数量?

在我的Flutter应用程序中,我注意到我的导航堆栈不断增长。有没有办法限制导航堆栈内存中的页面数量(比如最多4页)?在用户触发一定数量的“后退”按钮后,是否可以最小化/关闭Flutter应用程序? 最佳答案 我不知道有任何设置允许您进行设置。因此,我将提出一种自己处理的方法。以下两个变量是顶级,即您可以将它们放在类之外的任何地方。或者,您可以使用InheritedWidget存储数据,但为简单起见,我不会这样做。intopenedRoutes=1,routePops=0;有两种方法可以捕获路由pop。您可以只捕获来自系统的那些,例

android - Flutter - Navigator 的 'parent != ' null' is not true' 错误

我写了一些检查,然后如果条件为真则导航到下一页。但是,只要该条件返回true并且我打算导航,我就会不断收到错误消息classBuyTicketsextendsStatefulWidget{@override_BuyTicketsStatecreateState()=>new_BuyTicketsState();}class_BuyTicketsStateextendsState{@overridevoidinitState(){...if(condition){//SkiptonextpageNavigator.push(context,MaterialPageRoute(builde

flutter - 每次推送使用不同的动画时如何正确执行 Navigator.popUntil

我正在尝试在Flutter中重建iOS应用程序,但遇到导航问题。这是我想做的:带有添加按钮的已添加交易对列表(A屏幕)“添加”按钮会打开PickerwithExchanges(B屏幕),并从底部过渡到顶部。通过点击交换,它会推送新的PickerwithPairs(C屏幕)从右到左过渡。当用户点击配对时,它会立即关闭所有选择器并将选择结果传送到A屏幕。我尝试了双弹出和弹出,但结果总是一样,我同时看到2个向后转换(从左到右和从上到下)。它在iOS原生应用中的样子:它在Flutter应用中的样子:用嵌套导航器解决用Navigator包裹屏幕B并使用此导航器推送屏幕C,在屏幕C上使用根导航器弹

dart - 使用 Navigator.pushNamed 导航时如何发送参数

我需要将一些参数发送到命名路由。我想做类似的事情:Navigator.pushNamed('/route/1');或者Navigator.pushNamed('/route?param1=1');我不知道是否有办法做到这一点,我正在使用带有路由器的MaterialApp。 最佳答案 第一种方式是我在我的应用程序中使用的方式。Navigator.pushNamed('/route/1');不要忘记使用onGenerateRoute并传递值。我的应用程序示例:routes:{'/':(BuildContextcontext)=>Auth

navigation - flutter 导航器 : Dynamic initial route

我的应用仅在首次启动时显示一些介绍屏幕。首次启动后,第一个显示的屏幕应该是我的HomePage。我试过这些路线:"/"->HomePage()"/intro"->IntroPage()然后像这样设置initialRoute:initialRoute:isFirstLaunch?"/intro":"/"使用该配置,当initialRoute是“/简介”。这很糟糕,因为HomePage()加载了一个CameraPreview,所以它会请求权限并且是资源密集型的。在我明确导航到主页之前,不应加载它。我也试过这个配置:"/"->IntroPage()"/home"->HomePage()然后我

redux - Flutter Redux Navigator GlobalKey.currentState 返回 null

我正在使用Redux开发Flutter。当用户启动一个应用程序时,我希望Redux自动调度一个action。此操作将使Navigator依赖地推送不同的路由。这段代码providedbyaFlutterdevmember使用GlobalKey来使用middleware中的Navigator。在此之后,我将我的代码组织如下:ma​​in.dartvoidmain(){finalstore=newStore(appStateReducer,middleware:createRouteMiddleware());runApp(newMyApp(store));}classMyAppexten

android - Flutter Navigator Pop 不起作用

我昨天发现了flutter并尝试了一些,但我有一个问题。我按照教程实现了一个抽屉导航(thisone),抽屉打开得很好,所有按钮都改变了它们应该改变的东西,但调用了Navigator.pop(context)或Navigator.of(context).pop()(两者)的行为如下:在点击“角色”之前点击“角色”后我在网上搜索过,但找不到有同样问题的人:/这是我的代码:主Dart:import'package:flutter/material.dart';import'package:dnd/home.dart';voidmain()=>runApp(newMyApp());class

ruby-on-rails - 操作系统 : Rails Layer connect to Elasticache : Redis

我正在尝试将我在Opsworks中运行的Rails应用程序连接到ElasticacheRedis层。我只是无法让它工作。我当前的配置:1个堆栈(2个实例)图层-rails应用服务器-MySQLRails应用程序在AWS-OpsWorks-Rails-App-Server中安全组。1个ElasticCache集群ES集群在defaultsecuritysg-ff58559a(VPC)(active)安全组。我正在使用“主端点”尝试连接。这个值是可见的ElastiCache>复制组仪表板。它看起来类似于:.oveuui.ng.0001.use1.cache.amazonaws.com:63