You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FormBuilder出现readOnly、attribute命名参数不存在报错如何解决?

报错原因

这两个报错均由flutter_form_builder依赖库的大版本破坏性更新导致:你2个月前使用的是3.x及更早版本的库,当前项目实际拉取的是4.0及以上的新版本,旧版本的核心参数在新版本中已被重命名或移除,因此触发参数不存在的报错。

对应解决方法
  • FormBuilder的readOnly参数报错:新版本已移除FormBuilder组件的全局readOnly配置参数,你可以选择两种调整方式:
    1. 给所有表单项单独配置readOnly属性,需要全局控制时可统一封装变量传递
    2. 不调整代码,直接固定依赖库的版本为旧版本
  • FormBuilderTextField的attribute参数报错:新版本中该参数已重命名为name,直接把代码中的attribute: "emailFromUser"替换为name: "emailFromUser"即可,所有表单项的该参数都需要同步修改。
通用处理方案

你可以根据自己的需求二选一:

  1. 不想调整现有代码:在pubspec.yaml中固定flutter_form_builder的版本为你之前使用的旧版本,示例如下:
dependencies:
  flutter_form_builder: 3.14.1

去掉版本号前的^符号避免自动升级大版本,执行flutter pub get后即可正常运行。
2. 需要使用新版本功能:按照新版本的API规范全量调整项目中的相关代码,除了上述两个参数,还要同步调整验证器、表单取值等相关逻辑的写法。

内容的提问来源于stack exchange,提问作者Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:15:03