问题标签 [stream-builder]

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 投票
2 回答
1829 浏览

dart - 调用 StreamController.sink.add 时 StreamBuilder 没有反应

我的 Flutter 应用程序中有一个屏幕专门用于编辑对象列表。当您按下编辑按钮时,会弹出一个模式,允许您编辑对象值。当您关闭模型时,列表会通过 BLoC 刷新。但是,当调用刷新列表的方法时,什么也没有发生。

我知道数据已正确存储在数据库中,因为如果我转到上一个屏幕然后返回到编辑屏幕,数据就会更新。谁能帮我弄清楚为什么StreamBuilder不重建?

0 投票
2 回答
2234 浏览

flutter - AsyncSnapshot 状态始终为 connectionState.waiting

我正在尝试根据 TextField(搜索栏)的内容动态更新 ListView。

ListView 位于“ScenariosList”小部件内,并包含“Scenarios”列表,这是一个自定义小部件,包含标题、内容和其他数据位(不是真正相关但有助于上下文)。它的内容是通过“ScenariosBloc”从数据库中获取的。

TextField 包含在“SearchBar”小部件中。

目标是在检测到 TextField 发生更改时更改 ListView 的内容。

我目前正在使用两个单独的集团。ScenariosBloc 从数据库中获取所有场景,FilterScenariosBloc 使 List 呈现一个小部件以显示场景,如果它的标题包含 SearchBar 内 TextView 中的字符串。

我正在使用嵌套的 StreamBuilders 来执行此操作(请参见下面的代码)。

场景列表.dart

搜索栏.dart

Textfield 的 onChanged 方法包含:

FilterScenariosBloc.dart

用户输入发送到FilterScenariosBloc 一切正常,但状态filterSnapshot始终是connectionState.waiting。关于如何解决这个问题的任何想法?

0 投票
0 回答
219 浏览

android - 如何解决此“构建函数返回 null”错误?

我知道这个问题已经被问过几次,我已经尝试过建议的方法,即将“返回”放在正确的位置。我也按照控制台中的说明尝试添加一个空容器,但结果是我的屏幕变黑了。所以这是我的代码:

我想做的是实时更新android系统的变化。谢谢你的帮助!

编辑:我应该添加“有问题的小部件是:StreamBuilder”

0 投票
2 回答
1110 浏览

firebase-realtime-database - 颤动如何使gridview显示像按钮这样的firebase数据

我正在尝试使用 Streambuilder 来显示 gridview,但它返回此错误,我正在调用方法 classList() 到脚手架主体中的容器

数据库 = FirebaseDatabase.instance

数据库映像

我想显示 classData,显示 0,1,2..etc 我想在 gridview 中显示 ('className','classSection' in one button per child) as RaisedButtons

执行以下代码时出现此错误

整个飞镖文件

0 投票
1 回答
1876 浏览

gridview - 如何在项目构建器 gridview.builder Flutter Firebase Stream Builder 中跳过构建

我想删除一些 firebase 并且当 Streambuilder(gridview.builder) 达到它的索引时,它将为空,它会忽略它并且不要在该插槽中添加任何小部件并将其保留给其他人

这是它的样子

应用截图

我希望左边和右边的空白空间消失,其他小部件取而代之

Firebase 数据库映像

数据库映像

0 投票
2 回答
2872 浏览

flutter - Flutter:从 StreamBuilder 构建器回调内部导航到另一个屏幕

我有一个启动屏幕和一个StreamBuilder发出包含有关身份验证状态信息的状态的状态。当身份验证状态已知时,我想导航到登录页面或主页。但是当我写出Navigator.of(context).pushReplacement(...)我得到的东西时

我/颤振(2058):══╡小部件库发现异常╞═════════════════════════════════════════════ ═════════════════════════ I/flutter(2058):构建 StreamBuilder(脏,状态:I/flutter(2058)) : _StreamBuilderBaseState>#f4346): I/flutter (2058): setState() 或 markNeedsBuild() 在构建期间调用。I/flutter(2058):这个Overlay widget不能被标记为需要构建,因为框架已经在I/flutter(2058):构建widget的过程中。可以在构建阶段 I/flutter ( 2058 ) 期间将小部件标记为需要构建:仅当其祖先之一当前正在构建时。这个例外是允许的,因为框架 I/flutter ( 2058): 在子级之前构建父级小部件,这意味着将始终构建一个肮脏的后代。我/颤动(2058):否则,在此构建阶段,框架可能不会访问此小部件。I/flutter(2058):调用 setState() 或 markNeedsBuild() 的小部件是:I/flutter(2058):Overlay-[LabeledGlobalKey#e0460](状态:OverlayState#ab1a5(条目:I/flutter(2058) ): [OverlayEntry#4e962(opaque: false; maintainState: false), OverlayEntry#7656a(opaque: false; I/flutter (2058): maintainState: true), OverlayEntry#1f86e(opaque: false; maintainState: false), I /flutter (2058): OverlayEntry#05a15(opaque: false; maintainState: true)])) I/flutter (2058): 发出违规调用时当前正在构建的小部件是:I/flutter (2058): StreamBuilder(dirty, state: _StreamBuilderBaseState>#f4346) I/flutter (2058): I/flutter (2058): 当异常被抛出时,这是堆栈: I/flutter (2058): #0 Element.markNeedsBuild。(package:flutter/src/widgets/framework.dart:3503:11) I/flutter (2058): #1 Element.markNeedsBuild (package:flutter/src/widgets/framework.dart:3529:6) I/flutter ( 2058): #2 State.setState (package:flutter/src/widgets/framework.dart:1133:14) I/flutter (2058): #3 OverlayState.insertAll (package:flutter/src/widgets/overlay.dart: 346:5) I/flutter (2058): #4 OverlayRoute.install (package:flutter/src/widgets/routes.dart:43:24) I/flutter (2058): #5 TransitionRoute.install (package:flutter/ src/widgets/routes.dart:180:11) I/flutter (2058): #6 ModalRoute.install (package:flutter/src/widgets/routes.dart:895:11) I/flutter (2058): #7 NavigatorState.pushReplacement (package:flutter/src/widgets/navigator.dart:1799:14) I/flutter (2058): #8 _replace (package: map_chat/application/navigation.dart:75:27) I/flutter (2058): #9 _SignInPage.replace (package:map_chat/application/navigation.dart:67:5) I/flutter (2058): #10 路线图。替换 (package:map_chat/application/navigation.dart:25:18) I/flutter (2058): #11 _SplashPageState._buildPageBasedOnAuthenticationState (package:map_chat/feature/splash.dart:52:19) I/flutter (2058): #12 _SplashPageState._buildSplashScreen (package:map_chat/feature/splash.dart:40:11) I/flutter (2058): #13 _SplashPageState._buildPage。(package:map_chat/feature/splash.dart:27:18) I/flutter (2058): #14 StreamBuilder.build (package:flutter/src/widgets/async.dart:425:74) I/flutter (2058) : #15 _StreamBuilderBaseState.build (package:flutter/src/widgets/async.dart:125:48) I/flutter (2058): #16 StatefulElement.build (package: flutter/src/rendering/binding.dart:286:5) I/flutter (2058): #22 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1012:15) I/flutter (2058): #23 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:952:9) I/flutter (2058): #24 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame。(package:flutter/src/scheduler/binding.dart:773:7) I/flutter (2058): #33 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:382:19) I/flutter (2058) : #34 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:416:5) I/flutter (2058):

我发现的唯一解决方法是将导航安排到事件队列的末尾,Future(...).then(navigate)但这很糟糕。这是一个足够的解决方案吗?

0 投票
2 回答
1942 浏览

firebase - Flutter Nested Stream builder——最后一个流在显示数据之前为空

我正在尝试制作一个需要嵌套流构建器的应用程序。Stream 构建器看起来像这样。但是小部件是在加载最后一个流之前构建的,所以我在调用 getter null 时遇到错误,

0 投票
2 回答
4098 浏览

dart - StreamBuilder 不会在流中的新事件上重建

我的 StreamBuilder 视图:

我的肉块:

最后是我调用来启动新事件的代码(在这种情况下是 firebase 消息):

所以问题是当新事件通过alarmController.stream时StreamBuilder不会重建。可能是什么原因?

0 投票
0 回答
869 浏览

flutter - 如何使用 StreamBuilder 将数据设置为 TextEditingController?

我正在从数据库中加载一些数据(用户之前保存的数据,用于编辑)。我曾经StreamBuilder设置数据。
我有用于显示数据的表单,我使用它TextFormField是因为我需要使用验证。我连接TextEditingControllerTextFormField 然后我连接StreamBuilderTextEditingController 但是当我在加载后编辑数据时它给了我异常。

这是我的表单代码。

我得到了这个例外

0 投票
1 回答
35 浏览

flutter - 如何使用 StreamBuilder 检查我们是否在 ListView 的末尾

我正在使用streambuilder. 它工作正常,但在 listView 的末尾显示红屏。有什么方法可以检查我们是否在列表的末尾并自动关闭控制器或类似的东西。

任何帮助将不胜感激。

这是它显示给我的错误 Another exception was thrown: FormatException: Invalid number (at character 1)