问题标签 [flutter-form-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.
flutter - Flutter 不可变实体和表单
我们正在 Flutter 中开发一个新的移动应用程序,我们的域层具有所有不可变的实体(我们使用的是 freezed 包),并使用 Riverpod 作为状态管理在层之间移动它们。
现在我们问自己如何编辑表单中的不可变实体。
我们为接收不可变实体的表单使用有状态小部件,直到现在,我们使用实体类中的所有字段填充了本地 Map<String, dynamic> 变量,并将表单字段与此 Map 链接。
验证数据后,我们创建了一个新的不可变实体并调用状态通知器上的方法来更新数据并传播状态。
Map<String, dynamic> 的问题在于它不是类型安全的,也不是 null 安全的,我们必须在每次访问地图以创建新实体时强制转换并检查所有内容。
有什么建议可以改进这个设计吗?
有人建议为我们实体类中将在表单上编辑的每个字段使用一个变量,但我发现它是多余的。
另一种方法是每次使用 Freezed 提供的 copyWith 在表单内更改字段时创建一个新实体,但我不确定它是否有效。
flutter - 当字段不存在输入时,Flutter Form Builder 会丢失 initialValue
当使用 FormBuilder 的初始值时,当它们不是输入的一部分时,似乎没有保存这些值。这是一个示例代码
当按下保存并检查表单状态的值时,它只有名称但缺少 id 属性。
这是预期的行为吗?如果是这样,是否可以让它保留 id 字段?
forms - Flutter 设置按钮状态启用/禁用/从表单动态加载
我正在用颤振构建一个登录表单。它有两个字段(电子邮件和密码)和一个登录按钮。我希望在屏幕启动时禁用该按钮。当表单有效并且按下按钮时应该启用按钮,它应该显示 CircularProgressIndicator 而不是文本“登录”,以向用户显示他正在登录。
问题的 UI 部分非常简单,但我不确定更改按钮状态(启用/禁用/加载)的最佳方法是什么。我可以将整个表单放在一个有状态的小部件中,但这并不好,因为按钮是 UI 中唯一发生变化的部分,而不是整个表单。
我制作了一个自定义 StatefulWidget,它有一个 MaterialButton 用于孩子,但我不知道如何将数据(启用/禁用/加载)从表单发送到按钮。
任何帮助,将不胜感激!
firebase - 在 null 上调用了 getter 'user'
我正在尝试向Firebase提交表单,但收到错误The getter 'user' was called on null。我不知道如何解决这个问题。一切看起来都很好,不知道为什么会出现此错误。我试着做一个
但它仍然给了我错误。
这是我将数据上传到 Firebase 的学员
错误出现在这一行的表格中。credential.user?.uid!=null
这是错误
flutter - 传递给另一个小部件时,Flutter formKey currentstate为null
我正在尝试创建一个具有如下disabled
属性的 Textbutton 小部件:
在我的屏幕上,我声明我的 formKey 和我的表单如下:
我将在屏幕底部有一个按钮,我!_formKey.currentState!.validate()
在禁用字段中传递
但是,formKey.currentState 为 null 并在每次打开屏幕时抛出以下错误。
Null check operator used on a null value
我在这里做错了什么?先感谢您!
flutter - 我在哪里放置我的代码以使用 flutter_form_builder 预填充表单构建
我在flutter上使用flutter_form_builder构建了一个表单,当第二次打开表单时,我需要从本地数据库中预先填写表单。当我在其中调用它时,initState
它无法预填充表单小部件。
我查看了 flutter_form_builder 的文档,没有提到我需要用来执行此操作的生命周期。它仅显示如何处理提交表单。
如果有人遇到过这种情况,请告诉我您是如何解决的。谢谢。
flutter - 我可以将 flutter_form_builder_package 与无状态小部件和提供程序一起使用吗?
我使用包flutter_form_builder 我已经制作了一些带有表单的屏幕,带有无状态小部件和提供程序,每个屏幕都有自己的带有提交方法的提供程序等。一切正常,直到我测试我的主题,从控制中心更改为 ios 上的暗模式,重建整个应用程序和表单丢失其数据,但提供者不会丢失其数据。有状态的小部件不会发生这种情况。我的问题是,有一种方法可以在没有状态小部件的情况下在重建过程中保持数据?我曾尝试将表单密钥存储在提供程序上,但这不起作用,我收到有关重复密钥的错误。我已经让我的测试文件考虑了无状态小部件。如果我的提供程序没有丢失其数据,我想有一种方法可以将表单状态保存在提供程序上,因为需要将表单状态转换为有状态的小部件。对不起,