问题标签 [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.
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;
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 相关的导致错误的小部件是: 落下
我的问题是,我该如何解决这个错误?我知道以下功能可能会有所帮助
但是我应该在哪里实现上述功能?
感谢您的时间
flutter - GetX Get.ToNamed 在孩子内部不起作用
我希望创建一个简单的应用程序,保持 bottomNavigationBar 不变,改变它的孩子。
我想 GetX 是实现它的最好和最简单的方法,但是,我面临一个意想不到的问题。
这是代码片段:
和控制器:
好吧,它部分有效。我可以接收 bodyContent 路线,但不能只使用它。想要在控制器中保留显示子项的逻辑。我应该怎么办?
flutter - Flutter GetX Get.back() 或 navigator.pop() 从内存中删除控制器并且无法重新创建它
我有两个页面:HomePage和DetailsPage以及相关的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()
如下:
这不是我想要的,因为我不想手动跟踪之前的内容。我发现这会导致如果有一个后退按钮(几乎每个页面都有)。
我在这里做错了什么?
firebase - 在 Flutter 中使用 GetX 使用 Image Picker 和 Cropper 后如何显示图像?
在裁剪图像并将其存储在一页上的 RXString 中后,我正在使用 GetX 获取 Image 的路径:
然后我使用以下方法在另一个页面上检索图像的路径:
但是图像没有显示在第二页上。完整代码:
图像显示页面:
flutter - Flutter 监听 Stateless Widget 上的生命周期事件?
当应用程序处于后台/前台时,是否有任何解决方案可以监听 StatelessWidget 的生命周期事件?该特定屏幕上没有 StatefulWidget。我正在使用 Getx() 控制器来观察数据变化。
flutter - 在 Flutter 中调用 GetX 更新函数
我有一个颤动的地图屏幕,其中包含使用 GetBuilder 设置的动态折线。它们正在渲染,但我想使用 cameraTargetBounds 将它们适合屏幕,但这不起作用。
请参阅下面的代码:
我已经检查并可以确认 _.bounds 有 LatLngBounds。
此外,来自 GetXController 的 _.center 在更改时不会更新相机位置。
如何改进代码以实现折线的居中和拟合?
firebase - 错误“类型‘字符串’不是‘值’的‘文件’类型的子类型”
这是我使用getX将文件路径作为字符串传递到下一页的第一页。用于上传到 Firebase 存储,然后获取下载 url 以将其传递给 firebase cloud firestore,但它显示上述错误
这就是我在下一页获取字符串的方式(我可以正确打印路径,但这不是文件类型)
这是使用其他数据库部分上传图像的页面代码
据我了解,我们无法将字符串传递给文件类型,这就是我收到此错误的原因。
有谁知道解决方案。它对我有很大帮助。我现在完全陷入困境。
谢谢你 :)
flutter - 如何使用 GetX 使用更改的文件变量更新小部件
我的应用程序中有以下小部件:
和以下功能来选择图像:
我想导入文件(_imageFile)并在导入后将其显示在当前小部件上。我想使用 GetX 库。非常感谢您的帮助。