问题标签 [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 投票
1 回答
517 浏览

flutter - Flutter:有状态的小部件不更新

想象两个小部件:管理标签栏并因此包含多个小部件的 Main - 和 Dashboard。在主构造函数上,我创建了第一个仪表板实例和其他带有一些虚拟数据的选项卡栏小部件(同时在 initState 中获取它们)。我用 Futurebuilder构建这些。数据到达后,我想创建一个新的仪表板实例,但它不会改变。

当我在几种可用方法上打印时,很明显没有重新创建 DasboardScreenState。当数据到达时,只有 DashboardScreen 构造函数被再次调用,但不是它的状态......

颤振:MainConstructor:空

颤振:仪表板构造函数:null

颤振:初始化状态:空

颤振:didChangeDependencies:空

颤振:仪表板构造函数:MachineStatus.Manual <-这里的数据到达了futureBuilder

我怎样才能强迫国家重建?我尝试将 key 参数与 UniqueKey() 一起使用,但没有奏效。尽管我不知道如何在我的用例中使用它,但继承的小部件似乎也不是解决方案,因为子项仅在 ..ScreenState 中可用,但在更新的数据中不可用。

我可以想象通过使用 Stream: listen to messages 然后调用 setState() 来通知dashboardScreenState - 我认为,但这只是一种解决方法。

谁能帮助我:)?

0 投票
1 回答
1125 浏览

class - 同一个 Statefulwidget 的多个实例似乎共享同一个 State 对象?

我正在尝试使用 Flutter 构建应用程序,但遇到了一个小问题。我正在尝试用三页实现一个 BottomNavigaionBar 样式的应用程序。(见第一个片段)该布局使用了三个“ChorePage”类型的对象。看起来应用程序正在创建三个 ChorePage 实例,但只有一个 _ChorePageState 实例。

这会导致变量 _dataRows 在三个选项卡之间共享,这意味着我不能将不同的信息放入不同的选项卡中。为什么会发生这种情况,我该如何预防?

我已将打印语句放入 createState() 函数中,并在 PopulateRows 函数中打印“this”变量,该函数在每次重建 ChorePage 时调用。打印输出如下所示,确认这三个小部件确实使用了相同的 State 对象。(createState 只为对象 A 调用一次,并且 this 变量引用同一个对象)

杂务页

打印输出:

0 投票
1 回答
466 浏览

flutter - Flutter:使用 ObjectKeys 的更好方法?

我正在使用一个 StatefulWidget,它的构造函数包含一个对象,比如

有时会发生,这个对象o发生了变化,但小部件X没有更新,所以我不得不在构造函数中添加一个 ObjectKey:

现在每次我调用构造函数时,我都必须调用X(o: o, key: ObjectKey(o));. 有没有更好的方法来做到这一点?如果构造函数本身管理它,那就太好了,比如

但由于ObjectKey(o)不是常量表达式,它不能用作默认参数。还有其他方法吗?

0 投票
1 回答
341 浏览

flutter - Checkbox 和 TextField 的无状态小部件

当我在 StatelessWidget 中使用 Checkbox 时,我无法在运行时将复选框更改为选中/取消选中,但如果我使用 StatefulWidget,它就可以工作。

但是,为什么我可以在使用 StatelessWidget 时更改(键入)TextField 值?

0 投票
1 回答
46 浏览

json - 如何将通过方法接收的值存储在另一个变量实例中?

如何将通过方法接收的值存储在另一个变量实例中?

我想将传递给 Statefulwidget 的值存储在我无法执行的实例中。这就是我将值传递给 Statefulwidget 方法的方式。

但无法将数据存储在 StatefulWidget 中的实例中,请查看评论以查看哪些工作正常哪些不工作

我应该如何将它保存在颤动的实例中?

0 投票
1 回答
1664 浏览

flutter - 在颤动中获取父小部件高度

我想创建statefulWidget并希望在这个小部件中获得父小部件高度。不想通过从父小部件发送高度数据来做到这一点。我怎样才能做到这一点?

0 投票
1 回答
50 浏览

flutter - 如何从有状态小部件中获取参数

如何从另一个有状态类访问以下有状态类中的 _selectedCurrency 参数?

以下来自 coin_dart 文件:

const List currencyList = [ 'AUD', 'BRL', 'CAD', 'CNY', 'EUR', 'GBP', 'HKD', 'IDR', 'ILS', 'INR', 'JPY', ' MXN'、'NOK'、'NZD'、'PLN'、'RON'、'RUB'、'SEK'、'SGD'、'USD'、'ZAR'];

const List cryptoList = ['BTC', 'ETH', 'LTC', ];

0 投票
1 回答
35 浏览

flutter - 如何在使用 Providers 设置页面状态后重建页面?

我是 Providers 的新手,我很享受它的相对快速和简单。
但是,我在当前正在构建的应用程序中遇到了问题。
这是一个简单的应用程序,可以获取物品、用户和他/她的购物车。

显示用户的信息、购物车和获取物品都很好。问题是当我想将一个项目添加到购物车时:我成功地将它添加到数据库中,但 UI 没有改变。应用程序完全重启后 UI 更新

购物车页面

添加到购物车页面

如何使每次呈现购物车页面时都从数据库中获取数据?

0 投票
2 回答
34 浏览

android-studio - 如何制作开关,它们在单击时具有自己的 StatelessWidget 类切换?

我试图让两个开关在单击时在打开和关闭之间切换。我为开关的设计创建了一个 StatelessWidget 类。但是,当我使用它并在我的用户界面类中调用该类时,开关不会改变状态。如何更新我的代码以允许进行更改?

下面的代码是我如何称呼它的:

0 投票
1 回答
388 浏览

flutter - 颤振 - 方法'|' 在 null 上调用。热重载后它正在工作

我在颤振方面很新。我不知道后台发生了什么,因为热重载后它的工作正常。在发生的另一个 dart 文件中,firebase 在热重载后不向我提供初始化数据。

也许错误就在这里。

也许这是错误?它应该在飞镖文件的顶部吗?