问题标签 [statelesswidget]

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

dart - 按下flatButton后如何在“文本”小部件中显示文本?

我正在尝试使用颤振制作一个计算器应用程序,而不是通过键盘输入我想通过一些按钮输入。当我按下一个按钮但它没有在上面的文本小部件中显示相应的数据时,就会出现问题。

我所有的类都是无状态的,除了第一个 MyApp 类,它是有状态的。

我尝试在所有类之外创建一个通用变量,并使用它将文本从按钮类传输到显示类,但这不起作用。

一般变量是“_calcText”

我想在 DisplayAnswer 的 Text 小部件中显示 _calcText 的值。我希望 _calcText 在单击其他按钮时也发生变化,即;如果单击 2 文本应仅显示 2,如果单击 5 之后应显示 25

完整代码在这里: https ://drive.google.com/open?id=1C4MLAkjowloicbjBP_uV8BfpPzhz4Yxf

0 投票
1 回答
57 浏览

flutter - 如何用 StatelessWidget 子类中的其他最终成员初始化最终成员?

我有一个简单的 StatelessWidget,它在其构造函数中创建了一个新的 StatefulWidget。问题是要创建该小部件,需要先创建另一个对象。然后当我将它传递给构造函数时,我得到了错误

错误:在初始化程序中只能访问静态成员。

我在下面做了一个小例子,在这种情况下,不能将成员“a”传递给 B 的构造函数。如何解决这个问题?即使它可以是不可变的,我是否必须改为制作 StatefulWidget?

0 投票
1 回答
444 浏览

flutter - 为具有 TextEditingController 作为子控件的子控件选择 StatelessWidget 或 StatefulWidget

我正在重构代码以分离一小块小部件。每一个都有几列TextFields。我有两个选项来完成任务:

  1. 选择StatelessWidget,因为它具有更高的性能,可能会将 TextEditingController 相关代码放在子小部件之外。onChanged或者在事件中包含一些逻辑。但是仍然有一些事件,例如clear text无法放入onChanged事件

  2. 选择我是否在每个子小部件中StatefulWidget使用包含。TextEditingController

如何在将代码重构为这样的小部件之间StatelessWidget以及何时进行选择?StatefulWidget


更新

这是我目前的结论,如果不正确,可以更新。

  • 更喜欢放在parentFocusNodeTextEdit,因为它与兄弟 focusNode 和 parentNode 相关;
  • 更喜欢放入父级,这在诸如滚动到屏幕外的TextEdtingController情况下很有用,这将使整个小部件卸载。状态将被保留。TextFieldListItem
  • 当自己输入错误时,更喜欢animation self像摇晃一样。TextField因为它是TextField与父母无关的特征。
0 投票
3 回答
10511 浏览

flutter - 在 ListView 上构建期间调用的 setState() 或 markNeedsBuild()

所以我正在尝试重构我的 listView 逻辑。基本上我的 ListView 的 UI 逻辑变得很麻烦,所以我决定,为什么不将 UI 逻辑的某些部分移到另一个类

这是我的代码 ListPage.dart

ListTextArea.dart

错误如下: 在此处输入图像描述

我正在尝试做的事情(或者之前在整个代码位于 ListPage.dart 时所做的事情)是在 listView 中动态计算单元格,每个单元格都响应显示在更多数据中的点击动作。我完全不明白我在这里做错了什么。

我在 init 中调用了 setState,但在回调函数中。statelesswidget ListTextArea 根本不会处理状态,而是将 tapAction 返回给 StateFulWidget ListPage.dart。

那么为什么我会收到这个错误。任何见解都会有所帮助。

0 投票
1 回答
48 浏览

android - 作为类的状态是否需要 SatefulWidget?

我正在尝试学习颤振中的 bloc 模式并使用bloc框架创建一个示例应用程序。该应用程序是一个计数器,在计数器文本字段下方有两个按钮。在单击TrueFalse按钮时,当前 Ii 只是分别递增和递减计数器。

我注意到的是,如果我在实现Bloc模式时使用类作为状态,那么我必须编写StatefulWidget. 相反,如果我int只使用那么即使使用也StatelessWidget可以正常工作。

因此,在实现相同的示例时,它让我感到困惑,使用类作为状态,原始数据类型作为状态。

这是我的代码CounterBloc代码,状态定义为类CounterState

CounterState的定义如下

这就是我在按下按钮时调度事件的方式

与内部的 UI 绑定StatefulWidget

现在,如果我使用intas 状态,那么它在StatelessWidget.

这是CounterBloc带有状态的整数

更新

在@Rémi Rousselet 的评论的帮助下解决了这个问题。现在我每次都在通过新的状态

0 投票
4 回答
54745 浏览

flutter - 错误:参数类型“Future”不能分配给参数类型“void Function()”

当我将值从主页传递到源页面时,它显示错误:无法将参数类型“Future”分配给参数类型“void Function()”。(argument_type_not_assignable 在 [ strong text ] lib\home.dart:15)

我在哪里做错了??

主页 -

下面的页面是我想使用主页值的地方-

0 投票
4 回答
5346 浏览

flutter - 如果 Flutter 中的有状态小部件可以实现同样的功能,为什么我们还需要无状态小部件?

我是 Flutter 领域的新手,我最近了解了(或者我认为我做到了)有状态和无状态小部件,这是 Flutter 小部件的基础。

我们将无状态小部件用于未在显示屏上重绘的内容(如文本、按钮等),但有状态小部件可以自行重绘。

所以我的问题是,如果有状态小部件可以用来绘制与无状态小部件相同的小部件,为什么我们需要无状态小部件?

或者是否有任何特定的理由在颤振中使用无状态而不是有状态的小部件?或者我们可以一直使用有状态的小部件而不是只能绘制一次内容的无状态小部件吗?

谢谢,如果这是一个愚蠢的问题,我很抱歉。

编辑

那么问题不在于无状态和有状态之间的区别。我知道区别,但是只使用有状态小部件有什么影响,因为通过使用它,我们还可以实现无状态小部件可以做的大部分事情,那么为什么我们需要无状态小部件?它在颤振环境中的重要性是什么?的应用程序将不时重新绘制?

0 投票
3 回答
39549 浏览

flutter - 在 Flutter 中,如何将数据传递给 Stateless Widget?

我正在尝试构建我的第一个 Flutter 应用程序,并且在将数据传递到无状态小部件时遇到了困难。我有以下课程:

TimeCheck是一个Stateful Widget。基本上,我希望能够在开始时设置一些值,然后将它们传递给TimeCheck, via MainBody。我读到的所有内容都显示了如何将数据传递到Stateful Widgets,但是否可以通过Stateless Widget?

我认识到我可能采取了错误的方法,所以如果有帮助,我最终想做的是有一个“设置”页面,用户可以在其中设置数据的值(字符串和一些数字),并且然后将这些值传递到TimeCheck它们用于生成显示的位置。

如果可能的话,我还希望能够保存用户设置的值,这样他们就不必每次都输入它们,然后我希望能够在TimeCheck实例化时读取它们。

0 投票
0 回答
30 浏览

flutter - Flutter Inhertied widgets in a widget(stateless of statefull)

在 Flutter 中,我们使用其静态of方法访问继承的小部件字段:

所以,我的问题是,在小部件(无状态或有状态)中,当我们使用这样的东西时:

或者:

这是否意味着小部件继承自MediaQueryModalRoute

谢谢你。

0 投票
3 回答
7235 浏览

flutter - 如何在 StatelessWidget 的任何函数中获取上下文?

我们希望在一些异步处理(例如网络进程)之后显示一个 AlertDialog。

从外部类调用“showAlertDialog()”时,我想在没有上下文的情况下调用它。有什么好办法吗?

我已经考虑过上述方法,但我担心附带问题。

帮助

我当前的代码