logologo
开始
手册
开发
插件
API
English
简体中文
开始
手册
开发
插件
API
English
简体中文
logologo
概述

区块

概述

数据区块

表格
表单
详情
列表
网格卡片
图表

筛选区块

表单

其他区块

操作面板
Iframe
引用区块
Markdown
JS Block

区块设置项

数据范围
布局
区块联动规则
字段联动规则
排序规则
区块删除
区块标题

字段

概述

通用配置项

表格字段
详情字段
筛选表单字段
表单字段

特有配置项

日期
文件管理器
子表单
下拉选择器
数据选择器
子表格
子详情
标题
JS Field
JS Item
JS Column

字段配置项

默认值
字段标签
显示标签
字段提示信息
数据范围
字段组件
数值格式化
模式
必填
标题字段
验证规则
关系字段组件

操作

概述

操作配置项

编辑按钮
二次确认
字段赋值
绑定工作流
编辑弹窗
操作联动规则

操作类型

新增
查看
删除
编辑
导入
导入Pro
导出
导出pro
导出附件
筛选
链接
打开弹窗
刷新
提交数据
触发工作流
更新记录
批量更新
JS Action
操作权限

进阶

联动规则
事件流
变量
RunJS
Previous PageJS Column
Next Page字段标签

#默认值

#介绍

默认值是字段在新建状态下的初始值。可以在数据表配置字段时为其设定默认值,也可以在新增表单区块中为字段指定默认值,可以设置为常量或变量。

#哪里可以设置默认值

#数据表字段

20240411095933

#新增表单的字段

新增表单的大部分字段都支持设置默认值。

20251028161801

#子表单的添加

无论是新增或编辑表单里的子表单字段添加的子数据都有默认值。

子表单的 Add new 20251028163455

编辑已有的数据,数据为空时也不会被默认值填充,新添加的数据才会用默认值填充。

#关系数据的默认值

只有「多对一」和「多对多」类型的关系,并使用的选择器组件(Select、RecordPicker)时才有默认值。

20251028164128

#默认值变量

#有哪些变量

  • 当前用户;
  • 当前记录,已存在的数据才有当前记录的概念;
  • 当前表单,理想情况只列出表单里的字段;
  • 当前对象,子表单里的概念(子表单里的每一行数据对象);
  • URL参数 更多关于变量内容参考 变量

#字段默认值变量

分为非关系字段和关系字段两类。

#关系字段默认值变量

  • 变量对象必须是 collection 记录;
  • 必须是继承链路上的表,可以是当前表,也可以是父子表;
  • 「表单选中记录」变量仅限于「多对多」和「一对多/多对一」关系字段里可用;
  • 多层级时,需要拍平并去重处理
// 表格选中记录:
[{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}]

#非关系默认值变量

  • 类型一致或兼容,如字符串兼容数字,和所有有提供 toString 方法的对象;
  • JSON 字段比较特殊,什么数据都可以存;

#字段层级(可选字段)

20240411101157

  • 非关系默认值变量

    • 多层级选择字段时,仅限于对一的关系,不支持对多的关系;
    • JSON 字段比较特殊,可以不限制;
  • 关系默认值变量

    • hasOne,只支持对一关系;
    • hasMany,对一(内部转换)和对多都可以;
    • belongsToMany,对一(内部转换)和对多都可以;
    • belongsTo,一般为对一,当父级关系为 hasMany 时,也支持对多(因为 hasMany/belongsTo 实质就是多对多关系);

#特殊情况说明

#「多对多」等价于「一对多/多对一」组合

模型

20240411101558

#为什么一对一和一对多没有默认值?

例如 A.B 关系,b1 被 a1 关联了,就不能被 a2 关联了,如果 b1 关联 a2,那就会解除与 a1 的关联,这种情况下数据并不是共享的,而默认值是共享的机制(都可以关联),所以一对一和一对多不能设置默认值。

#为什么多对一和多对多的子表单或子表格也不能有默认值?

因为子表单和子表格的侧重点是直接对关系数据进行编辑(包括新增、移除),而关系默认值是共享机制,都可以关联,但不能修改关系数据。所以这种场景下不适合提供默认值。

另外,子表单或子表格是有子字段的,子表单或子表格的默认值设置的是行默认值还是列默认值会分不清楚。

综合考虑,无论什么关系子表单或子表格都不能直接设置默认值比较合适。