问题标签 [statefulwidget]

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 投票
13 回答
67153 浏览

dart - Flutter 中的有状态和无状态小部件之间的关系是什么?

有状态小部件被定义为在其生命周期内改变其状态的任何小部件。但是,将StatelessWidgetaStatefulWidget作为其孩子之一是一种非常普遍的做法。如果它有作为它的孩子之一,它不会StatelessWidget成为有状态的吗?StatefulWidget

我尝试将文档作为 的代码的一部分进行查看StatelessWidget,但无法弄清楚 aStatelessWidget可以Statefulwidget作为其子代并且仍然存在StatelessWidget

Flutter中有状态和无状态的widget有什么关系和区别?

0 投票
1 回答
54 浏览

expandablelistview - 如何更改下拉列表中复选框的状态?

我研究了flutter,做了一个简单的应用,有下拉列表和复选框,如图。但是不可能改变复选框的状态。

审查了许多不同的选项,我按照示例进行了操作。最有可能问题出在 EntryItem 类构造函数中,因为在创建条目实例时,其子子元素被称为 null,写入错误“在 null 上调用了 getter 'children'”。

这是我目前正在使用的代码:

0 投票
7 回答
152596 浏览

flutter - 将数据传递给 StatefulWidget 并在 Flutter 中以它的状态访问它

我的 Flutter 应用中有 2 个屏幕:一个记录列表和一个用于创建和编辑记录的屏幕。

如果我将一个对象传递到第二个屏幕,这意味着我要编辑它,如果我传递 null,则意味着我正在创建一个新项目。编辑屏幕是一个有状态的小部件,对于我的情况,我不确定如何使用这种方法https://flutter.io/cookbook/navigation/passing-data/

如何访问_RecordPageState的 recordObject

0 投票
6 回答
133979 浏览

flutter - 在 Flutter 中将数据传递给有状态的小部件

我想知道在创建时将数据传递给有状态小部件的推荐方法是什么。

我见过的两种风格是:

ServerInfo这种方法在和中都保留了一个值_ServerInfoState,看起来有点浪费。

另一种方法是使用widget._server

这似乎有点倒退,因为状态不再存储在小部件中_ServerInfoSate,而是在小部件中。

对此有最佳做法吗?

0 投票
3 回答
5105 浏览

dart - Flutter - 有状态的小部件在切换选项卡时不保存计数器状态

我正在学习颤振,我正在使用 tabBars,但我在保存状态时遇到了问题。我在下面放了一个关于我的问题的小例子。基本上,有一个按钮和一个有状态的计数器。当我单击按钮时,我看到文本字段正确更新。但是,当我切换到不同的选项卡并返回时,文本字段又归零。

我发现如果我将以下行移到 _CounterState 之外,以便将其定义在文件的顶层,那么它可以正常工作。当我切换标签时,当我切换回来时计数器保持在正确的计数

我觉得这不是执行此操作的适当方法,并且我看到的所有示例都在类内部具有变量。谁能给我任何见解?如果它在课堂内,为什么会重置?我应该把它放在课外吗?下面是简化的完整示例。

下面是计数器移到类外的示例

0 投票
4 回答
1897 浏览

dart - 理解 Flutter 中 StatefulWidget 的使用

我刚刚开始摆弄 Flutter,我无法理解StatefulWidget. 我在教程等中看到的所有这些小部件都会实例化 aState<MyWidget>并让它完成所有工作。
例如,来自这个(官方)教程:

我想知道的是为什么它会这样构建以及外部类的用途是什么(在我的示例中RandomWords)。

提前致谢。

0 投票
1 回答
711 浏览

internationalization - 如何在 StatefulWidget 中显示本地字符串?

我已经学习了如何通过 StatelessWidget 使用 i18n 进行颤振练习,但仍然无法通过 StatefulWidget 工作。

我可以简单地替换以下代码

使用 const 字符串,例如:

所以我认为其他一切都应该没问题。唯一的问题是 i18n 不起作用。

有人可以帮助我,“如何在颤振上通过 StatefulWidget 使用 i18n ?”

0 投票
1 回答
2153 浏览

flutter - 如何使用颤动页面路由保持状态

我有一个简单的应用程序,它在应用程序栏中将路由命名为有状态小部件。目前,每当我离开有状态小部件并再次返回时,有状态小部件就会失去其状态(在这种情况下,我的计数器会回到 0)。我希望有状态的小部件保持其状态,但我不确定我做错了什么。我需要明确地保持状态吗?如何?我应该didUpdateWidget用来转移状态吗?或者是其他东西?

这是我的 main.dart:

这是 counter_page.dart

0 投票
1 回答
4322 浏览

dart - 在 Flutter 中构建期间维护 StatefulWidget 的状态

我有一个有状态小部件列表,用户可以在其中添加、删除和与列表中的项目进行交互。从列表中删除项目会导致列表中的后续项目在移动以填充已删除的行时重建。这会导致这些小部件的状态数据丢失——尽管它们应该保持不变,除了它们在屏幕上的位置。我希望能够保持列表中剩余项目的状态,即使它们的位置发生变化。

下面是我的应用程序的简化版本,主要由 StatefulWidgets 列表组成。用户可以通过浮动操作按钮将项目添加到列表(我的应用程序中的“任务”)或通过滑动删除它们。列表中的任何项目都可以通过点击项目来突出显示,这会更改项目背景颜色的状态。如果列表中突出显示了多个项目,并且删除了一个项目(列表中的最后一个项目除外),则转移以替换已删除项目的项目将丢失其状态数据(即背景颜色重置为透明)。我怀疑这是因为 _taskList 重建,因为我在删除任务后调用 setState() 来更新显示。我想知道从_taskList 中删除任务后是否有一种干净的方法来维护剩余任务的状态数据。

0 投票
2 回答
8229 浏览

dart - 在其状态类中访问有状态小部件的功能?扑

我试图在注销按钮的 onPressed 方法之后调用 _signOut 函数。但是它没有(识别函数或让我调用它)但是我可以调用widget.Onsignedout,回调它的父级,一切都按预期工作。除了我在 auth.signout 上注销用户并回电只是为了更新表单。如何从状态类访问 _signOut()?谢谢你