问题标签 [flutter-routes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
22 浏览

flutter - Flutter - Navigator.pop(context) 调用我们要离开的屏幕的方法

当通过 Navigator.pop(context)离开页面时,MaterialApps 路由中定义的方法:

被调用(如进入页面时)。

这只发生在两个特定站点上,我不知道为什么。

有谁知道什么可能导致这种行为?

0 投票
1 回答
448 浏览

flutter - 如何重建flutter的root widget?

我正在使用提供程序包来检测“todaysTasks”的变化,但正如您所见,“todayTasks”取决于存储 DayTasks 列表的 DaysRecords,所以我想要的是每当我推送 DayTask 时重建我的根小部件(即 MyApp)在 DaysRecords.recordsList 中,但无法找到任何方法来做到这一点。这个有什么解决办法吗??

0 投票
5 回答
14766 浏览

flutter - Get.to(MyPage()) - 如何删除所有以前的路由 - Flutter GetX

我有一个简单的 Flutter 应用程序,我想删除所有以前的路线,但我想使用 GetX,怎么做?

现在它适用于

但我想知道与Get.to或类似的正确方法

0 投票
1 回答
511 浏览

flutter - 如何在 Flutter 中使用参数更改英雄动画的持续时间

这是我作为要点的代码我在 dartpad.dev 中的代码的交互式版本

关于我试图用这个应用程序做的事情的简要说明:

我有两个页面/,我想在 TextField 中键入一个字符串,它将同时开始出现在 中appBar,还有另一个按钮,当你按下它时,它将带你到另一个页面(Home小部件),但是text你写的那个/页面。我希望这个过渡就像一个英雄动画,其中从appBar页面/fliesbody文本Info

我以前使用

路由 到 新 页面 并 传递 我 想 在那里 显示 的 文本 . 我 能够 做到 , 但 即使 在 配置 模式 , 动画 也 太快一个我觉得太快的动画的gif

但是我从这个问题得到的答案是使用

但问题是,Navigator.push(context, PageRouteBuilder( ... ) )不允许你传递参数,我绝对希望能够做到这一点。

0 投票
1 回答
439 浏览

flutter - Flutter:RouteAware 仅触发 didPush 事件

您好,我是 Flutter 的新手,虽然我已经搜索过这个主题,但我不清楚。所以这里是代码:

main.dart 文件

profile_form.dart(在另一个文件上,从 main.dart 导入 routeObserver)

这个表单是通过 Navigator.pushReplacementNamed(context, '/profile'); 输入的。虽然当我返回另一个页面(再次从 Nanigator 或后退按钮)并等待 didPop() 事件触发时触发了 didPush() 事件,但它不会触发。我在这里想念什么?我的主要问题是我想在用户退出配置文件屏幕但在进入另一个屏幕的初始化之前保存更改。

0 投票
1 回答
498 浏览

flutter - 颤振弹出直到到达模态底部表

在 Flutter 中,我需要弹出路由堆栈,直到到达模态底部表,但我不知道如何使用Navigator.popUntil来做到这一点。

场景是这样的:我有一个设置屏幕(让我们称之为SettingsScreen),您可以从 main 以多种不同的方式访问它HomeScreen,从而在导航器中生成不同的路由堆栈。因此,例如堆栈可能是:

或者

现在我需要一种弹出方式,直到我到达 HomeScreen。通常我会使用:

但这里有一个问题:有时会在 中打开一个模态底页HomeScreen,我需要它保持打开状态。由于模态底部工作表是堆栈上的路由,因此如果工作表打开,则堆栈可能是例如:

所以弹出直到我点击HomeScreen导致模态底部表弹出,然后关闭它。所以,我需要弹出直到我到达HomeScreen OR直到我到达_ModalBottomSheetRoute<dynamic>.

不幸的是,底部工作表路由的设置中没有名称或参数,并且运行时类型_ModalBottomSheetRoute<dynamic>是私有的,所以我什至不能将其用作测试。Navigator.popUntil那么,当它到达模态底部表时,如何更改逻辑以停止?还是有另一种方法可以做到这一点?

0 投票
1 回答
6016 浏览

flutter - Flutter Navigator 2.0 通过 Navigator() 路由

我目前正在尝试使用新的 Flutter web beta 构建一个 web 应用程序。问题是能够拥有历史记录,处理浏览器中的前进和后退按钮,并能够处理用户对 URL 的输入,这需要新的 Navigator 2.0 API(至少从我的理解来看)。

目前只有少数资源可用,我正在尝试基于这些资源构建我的导航器。我使用的资源:

我设法让“后退”和“前进”按钮以及历史记录正常工作。但是,我正在努力处理页面切换(在 Navigator() 中)。在 John 的示例中,他管理 Navigator Widget 的 'page:' 数组中的不同站点(在 routeDeleger 中)。这对我来说似乎很奇怪,但我这样尝试过,但它并没有真正起作用(代码进一步向下)

在“页面:[]”中,我首先尝试使用触发的布尔值(如 show404),但这不是很干净,所以我的下一个尝试是按如下方式获取当前页面(在数组中):

这有点奏效,因为我随后能够输入段 /matchit/0 并加载了正确的页面,但是由于某种原因,“/”路线不再起作用,我得到了错误

然后我尝试使用'ongenerateRoute',但这只会引发一堆错误。我有点新,所以也许我在那里做错了什么。但在我看来,这不是正确的方法。这就是我目前所困的地方。我不知道接下来要尝试什么,希望你们中的一些人可以帮助我。

我的 Route-Deleger 如下所示(我也会在代码中包含我的评论,也许它可以帮助你们中的一些人,他们也希望了解 Navigator 2.0,了解发生了什么):

我的 RoutingInformationParser 看起来像这样:

然后我们还有路由信息的数据类型:

最后是我的 Homepage() ,其中初始化了 InformationParser 和 Deleger:

先感谢您!

0 投票
1 回答
1266 浏览

flutter - 当前小部件完成加载后如何执行方法?

我有一个带有 2 个小部件/页面的颤振应用程序,即:
- 加载小部件/页面(在应用程序启动时出现
- 主页小部件/页面

我想在加载页面完成加载后启动主页。基本上我的问题是 -我怎样才能知道我的小部件何时完成加载?

以下是我的代码:

0 投票
1 回答
112 浏览

flutter - 找不到正确的提供者在此自定义小部件上方

在下面的代码中,我没有收到任何错误...直到我调试并单击底部导航栏图标以导航到该路线。然后该页面会在我的应用栏和底部导航栏之间显示红色的错误框。

我收到以下错误:

在 main.dart 中,我尝试将 MultiProvider 向上移动到 runApp() 中,用它包裹 MaterialApp,在 main_navigation.dart 中我尝试用它包裹 Scaffold。没运气。

编辑:删除所有代码,因为它不相关。

0 投票
1 回答
478 浏览

flutter - 不同路由 Flutter 中的 Provider

当我看到这个错误时,我想在 Firebase 存储中上传一张图片:

The provider you are trying to read is in a different route.

所以我开始研究这个 Provider 是什么,现在我明白我需要将我用来上传图片的页面包含在Providertype的祖先的同一路由中Database

因此,我在“LogInPage”通过这样的导航器创建的“Registration_form”中遇到了问题:

现在我正在更改类似于以下内容的代码:

但我不明白我应该传递给该create方法的内容......我只想Reg_Form在正确的路径中创建调用 Firebase 函数以将文件放入 Firebase 存储中,所以我认为这FirebaseDatabase不适合我的需要。