可编辑数据表格

当对象数组的每一项结构一致、字段不多,而且填写者需要横向比较多行时,可以使用数据表格。订单行、路由规则、检查记录和工作流节点映射都适合这种布局。

结构

在对象 repeater 节点上设置 layout: "data-grid",它的直接子字段会成为表格列。

{
  id: 'routes',
  kind: 'repeater',
  layout: 'data-grid',
  label: '路由规则',
  schemaPath: '/properties/routes',
  children: ['route-match', 'route-name'],
}

绑定的 Schema 必须是对象数组,表格至少有一列,而且每个直接子节点都必须是 field。列可以继续绑定对象内部的属性,例如 /properties/routes/items/properties/when/properties/equals

运行时行为

桌面端使用原生表格语义,并提供本地化的列标题和行标题。嵌入容器变窄后,同一批数据会改成带字段标题的行卡片。添加、删除、排序、minItemsmaxItems、错误、只读状态、行规则和行数据源都沿用重复字段组协议。

列的 width 是相对展示权重。运行时行标识不会写入受控值;如果业务 Schema 本来就有稳定标识,可以声明 itemKey,也可以由宿主通过 identifyRepeaterItem 从外部数据推导。

Designer 与 Playground

组件面板中的“数据表格”会创建名称、数量和备注三列。它们都是普通字段,可以重命名或替换。符合条件的对象重复组可以在“行展示”中切换卡片与表格,不需要迁移已有值。

Playground 的“路由节点配置”保留普通 routes 数组结构,同时演示行校验和宿主提供的分支选项。

当前边界

弹窗编辑、矩阵、多行选择、表格粘贴与填充、排序、筛选、虚拟滚动和 CSV 服务不在当前交付范围内。这些能力需要明确的交互和宿主协议,不应藏进 layout: "data-grid" 的内部行为。