几个控件的函数默认值示范
检查项
赋值
检查项通过函数赋值时,需返回true
或者false
才可以。true为选中、false为不选中。
例1:当分数字段大于等于60时, 通过字段默认勾选,否则取消勾选。
IF(
分数
>=60,true,false)
例2:当分数字段为空时,“缺考”字段默认勾选,否则取消勾选。
ISBLANK(
分数
)
逻辑函数返回的结果直接是true或者false,可以直接使用。
取值
获取或判断检查项的值时,直接判断是否等于1或0,或是否等于 ture
或 false
单选
赋值
单选是通过和选项内容进行对比,匹配上赋值选择,匹配不上不处理。
示例:根据分数,给成绩划等级(单选字段,选项分别为:不及格、及格、良好、优秀)
- 当分数小于60时,不及格
- 大于60小于75,及格
- 大于75小于85,良好
- 大于85,优秀
等级字段的函数赋值写法:
IF(
分数
<60,'不及格',IF(分数
<75,'及格',IF(分数
<85,'良好','优秀')))
- 如果返回的值是写死的固定值,如不及格,则函数中必须前后加引号
- 如果返回的值选择的是字段,则直接选择字段即可,前后不加引号
取值
单选的值,实际是只有一个元素的数组。因此单选在在函数中使用或判断单选值时,需在字段后面需加上[0]。如附图
多选
函数有两种语法可以给多选赋默认值。
-
方法1:以英文逗号隔开文本,默认勾选选项1和选项3。
'选项1,选项3'
-
方法2:使用数组,默认勾选选项2和选项3。
['选项2','选项3']
简单示范:如果性别是男,选修课默认选择篮球和排球,如果是女,默认选择形体。
方法1:
方法2:
子表
在控件事件中,可以通过自定义函数对子表数据进行更新。
1.函数返回值需要保证和当前子表的数据结构完全一致,从而对子表数据进行全量替换更新。否则将会导致未知异常问题。
2.此功能仅提供给熟悉代码的用户使用,可以自由处理子表数据实现复杂业务逻辑。普通用户请谨慎使用!
如何获取子表中的字段ID
打开一条记录详情,按F12 ,刷新子表数据,查看"GetRowRelationRows"接口的返回数据,即可找到子表中每个字段的字段ID(controlId)
示例1:在函数中生成数据,给子表赋值
当其他字段的事件触发时,代码中生成了两行数据,直接写入子表(先清空子表再写入)
效果:
代码:
const nameId = "688eff5e8b7cf09a3c298543"; // 子表的姓名字段ID
const ageId = "688eff5e8b7cf09a3c298544"; // 子表的年龄字段ID
const rows = [
{[nameId]: "张三",[ageId]: "25"},
{[nameId]: "李四",[ageId]: "30"},
];
return JSON.stringify(rows); // 返回必须是字符串化后的 JSON 数组
示例2:修改子表某个字段
子表中某个字段修改后,通过函数自动修改子表其他字段的值
效果:
代码:
const sourceData = 子表字段;
const sourceControlId = `6883495e0c60de0e100085a4`;
const changeControlId = `68834e910c60de0e10008869`;
const outputRows = sourceData.map(row => ({
...row,
[changeControlId]: row[sourceControlId] + "_changed"
}));
return JSON.stringify(outputRows);
--