Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振:在块转换之间在小部件中保存状态_Flutter_Bloc_Flutter Bloc - Fatal编程技术网

Flutter 颤振:在块转换之间在小部件中保存状态

Flutter 颤振:在块转换之间在小部件中保存状态,flutter,bloc,flutter-bloc,Flutter,Bloc,Flutter Bloc,我正在使用flatter\u bloc在我的应用程序中实现bloc 我有一个可以进行多次转换的屏幕。因此,在页面上的不同操作上调度多个事件,每个返回的状态表示该特定事件的返回状态 在这些转换之间,我如何维护我的小部件中的状态 例如,屏幕上有3个按钮。每次单击按钮都会分派一个事件,状态返回一段文本。因此,在单击button1之后,状态返回一个带有文本的状态对象,按钮被该文本替换。现在,当用户单击button2时,它返回另一段文本并替换button2。但当这种情况发生时,button1的文本将消失

我正在使用
flatter\u bloc
在我的应用程序中实现bloc

我有一个可以进行多次转换的屏幕。因此,在页面上的不同操作上调度多个事件,每个返回的状态表示该特定事件的返回状态

在这些转换之间,我如何维护我的小部件中的状态

例如,屏幕上有3个按钮。每次单击按钮都会分派一个事件,状态返回一段文本。因此,在单击button1之后,状态返回一个带有文本的状态对象,按钮被该文本替换。现在,当用户单击button2时,它返回另一段文本并替换button2。但当这种情况发生时,button1的文本将消失

我有一个StatefulWidget和state,看起来像这样-

List<String> allTexts = List();
我如何解决这个问题


提前谢谢

您始终可以发出
状态
,其中包含所有
按钮
的文本。因此,当您单击
按钮
2时,您将收到
按钮
2的文本+为
按钮
1和3保存的所有
文本

您始终可以发出
状态
,以及所有
按钮
的文本。因此,当您单击
按钮
2时,您将收到
按钮
2的文本以及为
按钮
1和3保存的所有
文本
,请在
构建
方法中检查可能的调用
设置状态
。您不应该在小部件中保存状态,而应该将状态保存在blocdefinitial agree的状态模型类中!但是,您建议我如何传递该值?我有多个类,每个类代表一个新的状态。有没有一个例子我可以看到所有这些状态类在哪里变异一个变量?在你的
build
方法中检查可能的调用
setState
。你不应该在小部件中保存状态,而应该将状态保存在blocDefinitely的状态模型类中!但是,您建议我如何传递该值?我有多个类,每个类代表一个新的状态。有没有一个我能看到的例子,所有这些状态类都会改变一个变量?状态会一个接一个地发出。返回的类有两个,分别称为SuccessState和FailureState。SuccessState有一个保存值的字符串字段。主要问题是,当第二个问题完成时,我如何访问第一个问题的成功状态?我同意我们需要维护一个列表值,但在哪里可以维护以及如何维护?您可以将
列表
添加到
成功状态
,而不是只添加一个包含当前值的
字符串
字段。每次您产生
SuccessState
时,都会有一个列表,其中包含所有按钮的值,而不仅仅是按下的按钮。该状态会一个接一个地发出。返回的类有两个,分别称为SuccessState和FailureState。SuccessState有一个保存值的字符串字段。主要问题是,当第二个问题完成时,我如何访问第一个问题的成功状态?我同意我们需要维护一个列表值,但在哪里可以维护以及如何维护?您可以将
列表
添加到
成功状态
,而不是只添加一个包含当前值的
字符串
字段。每次您产生
SuccessState
时,您都会得到一个列表,其中包含所有按钮的值,而不仅仅是按下的按钮
setState() or markNeedsBuild() called during build.