问题标签 [flutter-getx]

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

flutter - Flutter - getx controller not updated when data changed

I am developing an app that has a bottomnavitaionbar with five pages. I use getx. In first page, i am listing data. My problem is that, when i changed data(first page in bottomnavigationbar) manually from database and thn i pass over pages, came back to first page i could not see changes.

Controller;

and my UI;

0 投票
1 回答
3247 浏览

flutter - Flutter:在构建期间调用 setState() 或 markNeedsBuild()。使用 future builder 和 obx

我正在使用颤振和GetX,所以我Obx在我的代码中实现。

我有 3 个文件:

questionnaire.dart questionnnaire_controller.dart popup.dart

在里面popup.dart我有弹出窗口的布局。

在里面questionnaire.dart我有显示弹出内容的代码,该弹出显示显示要回答的问卷。

在里面questionnaire_controller.dart我有一些使用的变量和函数,比如getQuestionnaires()异步获取问卷数据的函数,或者 list questionnaires,或者一个变量selectedQuestionnaire,它保留了已选择的问卷实例。

popup.dart我必须在弹出对话框的顶部显示调查问卷的标题(如果已选择调查问卷)。部分代码如下:

如您所见,在 obx 内部,我得到了 selectedQuestionnaireTitle 的值,这是一个存在于内部的变量questionnnaire_controller.dart

在里面questionnaire.dart我有一个future builder带来我的问卷数据,以便用户通过下拉列表选择其中一个,然后单击下一步回答相应的问题。对我们的案例有用的部分代码如下:

您可以在上面的代码中看到一个名为Dropdown. 这是我创建的有状态小部件。这个小部件,也存在于questionnaire.dart. 的代码Dropdown如下。

当我运行代码并打开弹出对话框时,出现以下错误

构建 Dropdown(dirty, state: _DropdownState#97b88): setState() 或 markNeedsBuild() 在构建期间引发了以下断言。

这个 Obx 小部件不能被标记为需要构建,因为框架已经在构建小部件的过程中。仅当其祖先之一当前正在构建时,小部件才能在构建阶段标记为需要构建。这个例外是允许的,因为框架在子组件之前构建父窗口小部件,这意味着将始终构建脏后代。否则,框架可能不会在此构建阶段访问此小部件。调用 setState() 或 markNeedsBuild() 的小部件是:Obx 状态:_ObxState#d84a8 进行违规调用时当前正在构建的小部件是:下拉脏状态:_DropdownState#97b88 相关的导致错误的小部件是: 落下

我的问题是,我该如何解决这个错误?我知道以下功能可能会有所帮助

但是我应该在哪里实现上述功能?

感谢您的时间

0 投票
1 回答
479 浏览

flutter - GetX Get.ToNamed 在孩子内部不起作用

我希望创建一个简单的应用程序,保持 bottomNavigationBar 不变,改变它的孩子。
我想 GetX 是实现它的最好和最简单的方法,但是,我面临一个意想不到的问题。

这是代码片段:

和控制器:

好吧,它部分有效。我可以接收 bodyContent 路线,但不能只使用它。想要在控制器中保留显示子项的逻辑。我应该怎么办?

0 投票
1 回答
4642 浏览

flutter - 如何在 Getx Rx 上添加错误并在流生成器上获取它?

我尝试在块的 Getx Rx 上添加错误catch并在我的流生成器​​上获取它,但是得到以下错误并且进度指示器一直运行:

这是我用来重现错误的代码:

更新

我搬到了稳定的频道,它在评论中得到了回答。

0 投票
3 回答
20440 浏览

flutter - Flutter GetX Get.back() 或 navigator.pop() 从内存中删除控制器并且无法重新创建它

我有两个页面:HomePageDetailsPage以及相关的GetxControllers

主页

家庭控制器

如您所见,HomeController依赖于一个模拟仓库的TaskRepository

还有我的DetailsPage

详细信息控制器

我创建了一个AppDependencies类来初始化依赖项(控制器、存储库、API 客户端等):

我通过调用初始化所有依赖AppDependencies.init()main()

主页

详情页第一次

返回主页,然后再次转到详细信息页面

正如您在第三张图片中看到的那样,从DetailsPage返回到HomePage并返回到DetailsPage会导致异常说:

但我已经在main(). 我也尝试过使用Get.put()而不是,Get.lazyPut()但我发现对于Get.put()任何其他依赖项的任何依赖项都必须在依赖项之前注册。例如,HomeController 依赖于 TaskRepository,因此 TaskRepository 必须在 HomeController 之前,如果使用Get.put()如下:

这不是我想要的,因为我不想手动跟踪之前的内容。我发现这会导致如果有一个后退按钮(几乎每个页面都有)。

我在这里做错了什么?

0 投票
0 回答
653 浏览

firebase - 在 Flutter 中使用 GetX 使用 Image Picker 和 Cropper 后如何显示图像?

在裁剪图像并将其存储在一页上的 RXString 中后,我正在使用 GetX 获取 Image 的路径:

然后我使用以下方法在另一个页面上检索图像的路径:

但是图像没有显示在第二页上。完整代码:

图像显示页面:

0 投票
3 回答
633 浏览

flutter - Flutter 监听 Stateless Widget 上的生命周期事件?

当应用程序处于后台/前台时,是否有任何解决方案可以监听 StatelessWidget 的生命周期事件?该特定屏幕上没有 StatefulWidget。我正在使用 Getx() 控制器来观察数据变化。

0 投票
0 回答
670 浏览

flutter - 在 Flutter 中调用 GetX 更新函数

我有一个颤动的地图屏幕,其中包含使用 GetBuilder 设置的动态折线。它们正在渲染,但我想使用 cameraTargetBounds 将它们适合屏幕,但这不起作用。

请参阅下面的代码:

我已经检查并可以确认 _.bounds 有 LatLngBounds。

此外,来自 GetXController 的 _.center 在更改时不会更新相机位置。

如何改进代码以实现折线的居中和拟合?

0 投票
0 回答
71 浏览

firebase - 错误“类型‘字符串’不是‘值’的‘文件’类型的子类型”

这是我使用getX文件路径作为字符串传递到下一页的第一页。用于上传到 Firebase 存储,然后获取下载 url 以将其传递给 firebase cloud firestore,但它显示上述错误

这就是我在下一页获取字符串的方式(我可以正确打印路径,但这不是文件类型)

这是使用其他数据库部分上传图像的页面代码

据我了解,我们无法将字符串传递给文件类型,这就是我收到此错误的原因。

有谁知道解决方案。它对我有很大帮助。我现在完全陷入困境。

谢谢你 :)

0 投票
1 回答
791 浏览

flutter - 如何使用 GetX 使用更改的文件变量更新小部件

我的应用程序中有以下小部件:

和以下功能来选择图像:

我想导入文件(_imageFile)并在导入后将其显示在当前小部件上。我想使用 GetX 库。非常感谢您的帮助。