问题标签 [flutter-cubit]

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

flutter - Dart 未处理异常:对空值使用空检查运算符,堆栈跟踪:

尽管我已尝试应用我在 SO 上看到的大多数建议更改,但到目前为止没有任何效果。我在这里遇到了这个常见的例外-roleRaw!.map((roleJson) => RoleModel.fromJson(roleJson)).toList();

这是代码

错误信息

我能做些什么?

0 投票
0 回答
55 浏览

flutter - BlocListener 不从当前屏幕监听

我是 Flutter 的新手,使用 Block 进行状态管理。我有两个屏幕

  1. 注册画面
  2. 验证屏幕

在“RegistrationScreen”中,我添加了我的 BlockConsumer,如下所示

一旦我们从服务中获得成功,我们就会从“RegistrationScreen”推送到“VerifyScreen”

在“VerifyScreen”中,我试图在 BlockListner 中重用 RegistrationCubit,如下所示(单击按钮再次调用注册服务)

但不是调用“VerifyScreen”BlocListener,而是调用“RegistrationScreen”侦听器。

您能否指导为什么从“VerifyScreen”调用“RegistrationScreen”侦听器?

0 投票
1 回答
567 浏览

flutter - Flutter:单元测试一个 Cubit 问题

我一直在尝试为我的 cubit 设置单元测试,但 bloc 测试似乎有问题。只是尝试检查值的初始状态在常规测试中效果很好,但是一旦我尝试使用 bloc 测试进行相同的事情,它就会吐出失败,实际是 [0] 处的空列表,我不确定我做错了什么。互联网上没有任何东西对这个错误有帮助。

错误:

SettingsCubit 和 SettingsState 代码位于: Flutter BLoC 测试失败

0 投票
0 回答
76 浏览

list - 比较颤动块中列表的长度

我想在我的应用程序中实现颤振块。我想比较列表的长度并相应地触发 blocListener 。但是当使用listenWhen时,它提供的参数(previousState和currentState)都显示列表的当前长度。我希望这两个参数会给出不同的状态,通过这些状态我可以比较不同状态的列表长度。

我的肘类:

任何人都可以建议代码中有什么问题(或)有没有其他方法可以实现它?

0 投票
1 回答
91 浏览

database - 永久保存数据块颤振

我正在学习 Bloc,但在永久保存数据时遇到了一些麻烦。我有这个 TextFormField在此处输入图像描述

它带有来自 API 的名称,如果我更新此名称,它应该保存并在其他屏幕中显示更新名称,例如配置文件屏幕和编辑配置文件屏幕,如下图所示。 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述ugp5u.png

问题是,我可以保存和更新名称,但是当我重新启动应用程序时,它会回到 API 中以前的名称,我希望永久保存此更新。

我怎样才能做到这一点?这是我的州课

事件类

集团类

0 投票
1 回答
146 浏览

flutter - Flutter TextFormField 在失去焦点时触发onFieldSubmitted

我正在使用 Cubit 来开发我的平台。我有一个自定义表单来编辑记录。

所有的 TextFormFields 都会收到一个初始值。

我的问题是当用户完成编辑每个 TextFormField 时,我需要更新我的肘部的状态。

我不能使用 onChanged 因为每次更新状态时 TextFormField 都会失去焦点。

我不能使用 onSaved 因为它只是更新最后一个 TextFormField 的值,因为状态是如何更新的。它需要在编辑每个字段后更新,而不是在编辑所有字段后更新。

我的最后一个选项是使用 onFieldSubmitted,因为它会在用户停止编辑每个字段时运行。它仅在用户按 ENTER 时运行,但我需要在失去焦点时运行它。

如果您认为代码会有所帮助,请告诉我,我会添加它。

更新

问题不在于状态变化。

我正在使用 Stepper 小部件,并且步数会根据某些输入而变化。

当它改变时,我得到这个错误“widget.steps.length == oldWidget.steps.length”来解决它我每次调用它时都给它一个随机键。

正因为如此,焦点就失去了。

0 投票
1 回答
168 浏览

flutter - 如何将通过 Timer.periodic 从 API 检索到的数据集成到 Flutter Cubit 项目中

我正在开发一个基于 Flutter Bloc/Cubit 的应用程序,在该应用程序中我需要运行 Timer.periodic,它会在某个重复持续时间从 API 检索数据,然后在检索到新数据时更新 UI。

我对 Timer.periodic 应该在哪里运行以及如何与 Cubit 集成的工作流程感到困惑,这样 UI 在 State 发生变化时根据 Timer.periodic 的回调中检索到的数据进行更新,每次调用周期性火灾。现在,当手动启动 Timer.periodic 时,该回调运行良好。但是,当然,它需要以某种方式集成到 Cubit 流程中,而这是我不太了解的方法。

有没有人对这样的项目有任何指示或经验?

0 投票
2 回答
371 浏览

flutter - Flutter Bloc - 有没有办法在屏幕中提供不同的块实例

我有一个名为 FoodCubit 的腕尺,它有两个功能:

-getAllFoods()

-getFilteredFoods(类别)

我有一个像下面这样的屏幕 主屏幕

如您所见,屏幕的顶部是返回由我的第一个函数发出的状态的 blocbuilder,它在 didChangeDependency() 中调用,而底部是同一个 FoodCubit 的另一个 blocbuilder,我想返回第二个函数发出的状态但是结果在顶部 blocbuilder 和底部 blocbuilder 中是相同的。我在提供 FoodCubit 的材料应用程序的父级中使用了 blocprovider。如果有一种方法可以提供相同 bloc 的两个实例并使用它,我正在徘徊。有些怎么样

但是,我怎样才能在 blocbuilder 中达到它?

我认为一种解决方法是在屏幕的顶部和底部使用两个 blocprovider,但这不会破坏使用 bloc 的目的。有什么办法吗?有没有更好的办法?

0 投票
1 回答
423 浏览

android - flutter_bloc 中的 context.watch 和 context.read 有什么区别?

我只是在颤抖中了解一肘。我在教程视频中学习,所以在那个视频中,导师制作了一个登录页面,其中包含一个电子邮件和密码文本字段以及一个登录按钮。在那段视频中,导师仍然使用旧版本的flutter_bloc。当我遵循其中一个代码行时出现警告

该代码写在 onPressed 功能按钮内。它说context.bloc已弃用。当我尝试运行该应用程序时,它返回一个错误,因为我使用的 flutter_bloc 版本不支持 null 安全,所以我将它升级到当前版本(7.3.1),我在 6.1.0 版本更新日志中找到了这个(你可以看到它在flutter_bloc 更改日志中)

因为我不知道我刚刚更改的区别context.bloc然后context.watch我再次运行该应用程序并返回另一个错误

当我将其更改为context.read有效时。我想知道它们之间的区别

0 投票
1 回答
52 浏览

flutter - 为什么在使用第二个文本字段之前显示cubit结果?

这个应用程序的目标是从第一个文本字段中获取输入,然后在第二个屏幕中对其进行打乱。然后提示用户解读并将其输入到第二个文本字段中。如果用户的 second_text_field 输入与 firs_text_field 中的输入匹配,则 UI 应显示“OKAY”;否则,“不好”。在我看来,变量 mycontroller 在到达 BlockBuilder 下的文本小部件时什么都不存储。这是快照: 在此处输入图像描述 在此处输入图像描述

这是相关的屏幕代码:

这是肘部分: SentenceState:

句子肘: