跳到主要内容

几个控件的函数默认值示范


检查项

赋值

检查项通过函数赋值时,需返回true或者false才可以。true为选中、false为不选中。

例1:当分数字段大于等于60时, 通过字段默认勾选,否则取消勾选。

IF(分数 >=60,true,false)

例2:当分数字段为空时,“缺考”字段默认勾选,否则取消勾选。

ISBLANK(分数)

逻辑函数返回的结果直接是true或者false,可以直接使用。

取值

获取或判断检查项的值时,直接判断是否等于1或0,或是否等于 turefalse

单选

赋值

单选是通过和选项内容进行对比,匹配上赋值选择,匹配不上不处理。

示例:根据分数,给成绩划等级(单选字段,选项分别为:不及格、及格、良好、优秀)

  • 当分数小于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);

--