问题标签 [flutter-navigation]

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 投票
1 回答
85 浏览

flutter - Flutter,不一致的小部件构建

所以我有一个像这样的表单屏幕(带有自己的脚手架):

我有这样的根小部件:

什么时候按计划工作?

当我设置

home: InputForm(),

即使我单击任意位置并且 UI 发生变化(下拉或单击输入字段)

只调用一次。

但是当我设置

然后单击 DashboardWidget 上的按钮,我通过以下方式导航到:

然后当我单击 InputForm 屏幕中更改小部件的某个位置时(例如扩展下拉列表、输入字段)

每次在导致布局更改的此类点击中都会被调用。

这是正常行为吗?

如果是这样,存储 InputFromWidget 状态以避免从头开始重新创建它的最佳方法是什么?

0 投票
1 回答
404 浏览

flutter - 删除 Flutter 中的所有本地历史记录

我有一个 StatefulWidget,它通过ModalRoute.of(context).addLocalHistoryEntry(). 当发生某些更改时,我想重置小部件的状态并清除它添加的任何本地历史记录。我没有看到任何 APIModalRoute来实现这一点。

0 投票
4 回答
10049 浏览

flutter - 如何删除默认导航路线动画

我在颤振文档中给出的页面路由代码下方

但它在推送和弹出路线时提供了一些动画。

对于Android,页面的入口过渡将页面向上滑动并淡入。退出过渡是相同的,但相反。

过渡适应平台,在 iOS 上,页面从右侧滑入并反向退出。当另一页进入以覆盖它时,该页也会以视差向左移动。(这些方向在具有从右到左阅读方向的环境中翻转。)

有没有办法在没有任何动画的情况下路由到下一页?

编辑: 请检查整个代码:

0 投票
3 回答
3976 浏览

flutter - Flutter 导航最佳实践

我有一个问题要问 Flutter 开发人员,他们有使用 Angular 或 android sdk 的经验。

在 android 中,当您想在不同屏幕之间导航而不降低性能时,我们使用片段并使用框架布局更改它们

角度相同,我们使用路由器插座,我们使用路由在组件之间导航

我想用颤振实现同样的事情(ps:我播种了一些像这样的文章 作者通过更新状态和有条件地显示正确的页面来在他的页面之间导航,我认为这不是一个好习惯)

所以我的问题是有什么方法可以像我们在 angular 或 android 中那样在颤振中使用导航?

谢谢

路由图像

0 投票
0 回答
769 浏览

flutter - changenotifierprovider 是否会处理导航?

我在应用程序页面上初始化Provider

但是当我将 Navigator.push 页面推送到 Page2 时:

它给出错误:

错误:在此消费者小部件上方找不到正确的提供者

我该如何解决这个错误?

0 投票
1 回答
6665 浏览

flutter - Flutter Navigator.popUntil 断言_debugLocked 失败。怎么了?

^ ^ ^^ ^ 不!这个问题没有答案!^ ^ ^ ^ ^ ^

我遇到了问题Navigator.popUntil。我编写了一个小型演示应用程序来展示正在发生的事情。在我将此作为错误发布之前,我使用popUntil错了吗?

调用 popUntil 显示

在此处输入图像描述

看起来有些东西正在锁定导航器(设置_debugLocked)而不是释放它。

main.dart 下面:(可以粘贴到 Flutter 演示应用中)

0 投票
3 回答
6479 浏览

flutter - 从 TabBarView Child 导航到另一个 Route(全屏)

我有一个 TabBarView 包含 4 个选项卡。他们都有一个按钮,可用于导航到另一条路线,但导航是在选项卡本身中完成的,即选项卡式应用栏仍然存在,如何在没有选项卡式应用栏的情况下导航到这些路线。

编辑:在主页上,有一些按钮将用户带到选项卡式页面,在该页面上,TabBarView 具有传递不同字符串的第 2 页,现在第 2 页用于调用验证用户登录、注销和内容的小部件和返回正确的小部件。当用户登录时,有一个 Fab 将他们带到一条新路线,现在该路线仍在我想要更改的选项卡式视图中导航。

选项卡式视图

第2页

登录

工厂

0 投票
2 回答
599 浏览

flutter - 导航到新屏幕时无法访问提供程序

有一个问题,我现在坐了几天。有一个应用程序:

  • 根据 AUTH 状态,显示“LoginScreen”或“MainScreen”。

  • 在 MainScreen 中,我使用屏幕(HomeScreen、ShoppingScreen、MyFavorites)设置底部导航

  • 我还使用 MultiProvider 在那里设置了我的 StreamProviders(那些依赖于 Auth)
  • 当我在 HomeScreen 上使用 Provider.of(context) 时,它的工作原理应该是这样
  • 但是当我使用时:

    /li>

` 并在此处使用 Provider.of(context) 我得到“找不到正确的提供者....在此之上...小部件

我阅读了一些关于这方面的问题,解决方案是在 MaterailApp 上方取消提供程序,在我的情况下我不能这样做,因为我只能在 Auth 成功后设置这些。

尝试将上下文(从 HomeScreen)传递给 ProfileScreen(通过构造函数)并且有效,但是当 UserData 的值更改时,它没有更新屏幕(猜测是因为不同的“上下文”)

我在这里做错了什么,有什么想法吗?:S

0 投票
1 回答
1163 浏览

flutter - Fluro 包中的 Flutter Navigator 默认路由路由

我正在将 Flutter 与Fluro包一起使用,并且我想为应用程序设置默认路由。

需要有一个地方来决定用户需要导航到哪条路径,并从那里通过所决定的任何设置来导航应用程序。

目前,我在应用程序中定义了路由,并且确实有一个“404”(未找到)路由,如包的文档中所述,但我更喜欢另一种更正确的方法来解决它。

例如,该应用程序具有以下路线:

我希望该路线init成为默认路线。

谢谢你,尼西姆

0 投票
1 回答
5892 浏览

flutter - 使用pop时如何在flutter中重新加载或调用某些函数initState()

Navigator.pop()当用户单击返回或在第二个屏幕中使用时,我正在尝试运行某种方法。

我有两个屏幕。

  1. 设定画面
  2. 编辑画面

编辑后,我将用户弹出到第一秒。现在在我使用的第一个屏幕中SharedPreference。但是当用户回到第一个屏幕时,我需要重新运行一个方法。我怎样才能做到这一点?