问题标签 [flutter-state]

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 回答
164 浏览

google-maps - Flutter - 如何避免在路线之间重新加载谷歌地图?

我的应用程序的几条路线上都有谷歌地图。是否可以避免在新路线上重新加载 Google 地图?我正在考虑取消路线,并使用一个大堆栈,底部有谷歌地图,只是打开和关闭各种小部件,但是从堆栈中的小部件设置谷歌地图的状态(例如添加标记)变得困难。 ..

0 投票
2 回答
1944 浏览

flutter - 无法在颤振中使用提供者来处理身份验证流程

如果有人无法理解我的问题,请告知

我已经使用 Provider 包来处理身份验证流程。我正在做的是: Main.dart -> Auth 处理程序小部件(其中包含用于检查 onAuthChange 的流生成器​​) -> 页面处理程序(如果用户是新用户,它将带用户从那里进入登录屏幕,它被转移到登录使用推送替换的页面)登录后检查用户是否存在数据 -> 如果存在,则将其带到主屏幕 -> 主屏幕包含 3 个选项卡。在主页选项卡中有注销按钮,但是当我按下它时它不起作用。在这方面帮助我。

主要.dart

Auth_Widget_Builder

Auth.Widget

如果数据存在,则在 checkUser.dart 中

Student_Home_Screen.dart

在 Hometab 中的 signOut 按钮功能

0 投票
2 回答
478 浏览

flutter - Flutter 周期性刷新和弹出所有其他页面导致错误

我有一个 ArticlesPage 小部件,它有一个定期计时器来再次路由同一页面。这是一种从外部 API 中提取新文章的方法。

为了避免屏幕堆栈中的页面过多,我Navigator.of(context).popUntil((route) => route.isFirst);在 build 方法中使用了所有其他页面。

在定期路由期间,我不断看到以下错误:

未处理的异常:在 dispose() 后调用 setState():_ArticlesPageState#9ae77(生命周期状态:已失效,未安装) E/flutter (19115):如果您在 State 对象上调用 setState() 以获取不再存在的小部件,则会发生此错误出现在小部件树中

我应该如何解决它?

ArticlesPage 小部件:

slideRouteArticles 函数:

0 投票
0 回答
104 浏览

flutter - 按住时 FlatButton 不同的文本颜色

我是 Flutter 的新手。我想做一个简单的例子。我想在按住时更改平面按钮的颜色。基本上我做到了,但我不确定这是正确的方法。没有更简单的方法吗?例如,可能是如下属性;

简单形式的代码;

}

0 投票
1 回答
114 浏览

flutter - 使用提供程序为所有文本字段重置 TextfieldController

我在试图找出如何做到这一点的正确方法时遇到了问题。基本上在我的应用程序中,我想重置用户“清理”的所有字段。我可以重置所有内容,但TextFields. 我发现解决该问题的唯一方法是使用您可以在Consumer. 我不认为这是处理这类事情的正确方法。

我还想将所有控制器推入我的提供程序类,然后重置它们,但我认为它仍然太重了。我试图找到最干净、最轻便的解决方案,甚至想了解在这些情况下的最佳做法是什么。

提前致谢!

0 投票
1 回答
108 浏览

flutter - 如何处理本地状态与供应商的关系?

我使用提供程序包来管理我的应用程序状态。关于如何管理应用程序中的状态,我有几个问题。

  • 为我的应用程序中的每个屏幕创建一个 ChangeNotifier 类来处理此页面的后端(仅提供给此屏幕)是一个好习惯吗?

在这样的示例中:如果我有一个包含多个小部件的页面,并且我需要重建页面的一小部分,例如在启用开关时添加新的 TextField。

在前面的例子中

  • 我应该使用提供程序仅重建页面的一小部分,还是这部分主要通过仅使用 changeState() 来处理?

如果页面的本地状态应该在屏幕中处理。

  • 我应该在哪里放置页面的逻辑,例如按钮单击时的 http 请求和加载此页面的数据?
0 投票
1 回答
103 浏览

flutter - Flutter 中的 InitState 有什么问题?

我正在尝试使用flutter和firebase进行自动登录并将其放入initState但它似乎没有被执行,因为我试图将它移动到Build Widget但没有任何效果但是当我将它放入LoginPageState时它已被执行但出现错误: 使用不包含导航器的上下文请求导航器操作。 我的代码:

0 投票
1 回答
61 浏览

flutter - List.remove() 删除了正确的对象,但列表中对象的状态发生了变化,就好像最后一个条目正在被删除一样

所以我这几天一直在尝试解决这个问题,我似乎在这里遇到了一个真正的死胡同。

问题(我在下面的代码中简化了)是当我尝试从 a 中删除一个项目时List<"SomeDataObject">,它实际上确实从列表中删除了正确的对象。这很明显,因为我任意分配给对象的 ID确实会发生变化,就像我在删除某些东西时所期望的那样。然而,奇怪的是,即使 ID 在列表中移动并且正确的 ID 被删除,所有小部件的状态似乎都好像总是删除最后一项,即使被删除的对象位于中间甚至开始的名单。

一个例子是如果列表看起来像这样:

假设我试图从这个列表中删除中间项目。好吧,现在列表看起来像这样:

起初这似乎很棒,因为它看起来正是我想要的,但由于某种原因,颜色并没有改变它们的顺序,仍然是首先是红色,然后是蓝色。颜色状态数据似乎独立于实际对象发挥作用,我找不到明确的解决方案。

我有一个示例程序的代码来重现这个问题,我还有一些程序的下面的图片,以便更清楚问题是什么。

在用户更改任何颜色之前(对象 ID 在容器上显示为文本): 1

用户通过点击将中间容器更改为蓝色: 2

用户尝试通过双击删除中间(蓝色)容器: 在此处输入图像描述

从上图可以看出,ID被删除了,下面的ID在屏幕上向上移动了,但是状态中的颜色信息并没有被删除。

任何尝试的想法将不胜感激。

0 投票
1 回答
504 浏览

flutter - 无法使用 Flutter Stateful 小部件

我是拉维。我对 Flutter 很陌生,但我对编程并不陌生。我一直在使用 Flutter 的有状态小部件。由于我是这个 SDK 的新手,我无法弄清楚为什么我的状态没有更新。我所做的只是编写了一些代码,每当单击按钮时都会增加一个数字,而且我知道我们必须使用有状态的小部件才能实时更新任何数据。但我的代码不能正常工作。谁能帮我这个。

Flutter Stateful 小部件演示

0 投票
2 回答
54 浏览

flutter - 如何做列表元素的随机生成器?

我有清单:

我想从我的列表元素创建随机文本生成器。我在颤振中使用 statefull,当我点击按钮时,我想要列表中的新随机元素。我的代码示例:

为什么它不起作用我不明白......