docs/docs/cn/interface-builder/fields/field-settings/default-value.md
默认值是字段在新建状态下的初始值。可以在数据表配置字段时为其设定默认值,也可以在新增表单区块中为字段指定默认值,可以设置为常量或变量。
新增表单的大部分字段都支持设置默认值。
无论是新增或编辑表单里的子表单字段添加的子数据都有默认值。
子表单的 Add new
编辑已有的数据,数据为空时也不会被默认值填充,新添加的数据才会用默认值填充。
只有「多对一」和「多对多」类型的关系,并使用的选择器组件(Select、RecordPicker)时才有默认值。
分为非关系字段和关系字段两类。
// 表格选中记录:
[{id:1},{id:2},{id:3},{id:4}]
// 表格选中记录/对一:
[{对一: {id:2}}, {对一: {id:3}}, {对一: {id:3}}]
// 拍平并去重
[{id: 2}, {id: 3}]
// 表格选中记录/对多:
[{对多: [{id: 1}, {id:2}]}, {对多: {[id:3}, {id:4}]}]
// 拍平
[{id:1},{id:2},{id:3},{id:4}]
非关系默认值变量
关系默认值变量
模型
例如 A.B 关系,b1 被 a1 关联了,就不能被 a2 关联了,如果 b1 关联 a2,那就会解除与 a1 的关联,这种情况下数据并不是共享的,而默认值是共享的机制(都可以关联),所以一对一和一对多不能设置默认值。
因为子表单和子表格的侧重点是直接对关系数据进行编辑(包括新增、移除),而关系默认值是共享机制,都可以关联,但不能修改关系数据。所以这种场景下不适合提供默认值。
另外,子表单或子表格是有子字段的,子表单或子表格的默认值设置的是行默认值还是列默认值会分不清楚。
综合考虑,无论什么关系子表单或子表格都不能直接设置默认值比较合适。