For AI agents: the complete documentation index is available at https://a3s-lab.github.io/UI/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/UI/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/UI/components/form-system/migration.md.

迁移清单

next 收紧了 v0.1 中较宽松的协议。发布新的 revision 与 digest 前,应逐份检查已有表单。

  1. 用 Schema Profile 1 编译每份文档,移除不支持的 JSON Schema 关键字。
  2. 检查所有 computed 规则;计算结果现在会进入受控值、校验和宿主操作。
  3. 把远程选项放到 resolveDataSource 后面,声明依赖字段,凭证留在宿主。
  4. 把受保护的业务检查放到 validateValue 后面,返回稳定错误码和实际字段路径。
  5. 导入作用域化 Form 样式,移除对宿主全局 reset 的依赖。
  6. 通过 a3s.dev/form-locale-catalog/v1 在宿主状态中维护文案覆盖。
  7. 用重复字段组替换对象数组的 JSON 编辑器,保持已有值结构不变。
  8. 为逐行规则设置 scope: "row"。宿主不再自行替换通配符,而是读取 DataSourceRequest.scope 给出的实际依赖路径。
  9. 用 wizard 容器和直接 page 子节点替换基于标签页的步骤流程。导航状态留在表单值之外,只恢复与当前 plan digest 和 revision 匹配的 checkpoint。
  10. 对适合紧凑表格编辑的对象重复组添加 layout: "data-grid",Schema 和受控数组不变。
  11. 现有数据表格默认继续表内编辑,且不启用选择、排序和筛选。需要行草稿时设置 dataGrid.editMode: "dialog";selection: "multiple"、sorting: "single" 与 filtering: "search" 可独立启用,均不改变受控值结构。
  12. 检查内置字段的值类型,尤其是多选与标签数组、UTC 时间、金额数值和只读计算结果。参见内置字段组件。

基础类型的重复项保持兼容。对象重复组默认不会加入行元数据。需要宿主推导标识时使用 identifyRepeaterItem;只有业务 Schema 已经拥有必填字符串标识时才声明 itemKey。

迁移完成后,显式发布新的表单 revision,并更新配置模式的 FormRef。已有嵌入实例和进行中的交互仍固定使用原 revision 与 digest。

发布前运行完整检查:

npm run form:check