明细表中rowDefaultValue规则,如何根据表头字段不同值执行不同的赋值逻辑
环境:华为云测试区租户:icd
问题描述:
当单头“规则类型”的值为“2.特定规则”时,明细表新增行,生效日期默认为当前日期,否则为固定值:1900/01/02
如下图所示:
对应栏位添加rowDefaultValue规则如下,只能实现默认当天日期:
const value = { s_date: moment().format('YYYY-MM-DD') }; return value;
如果需要根据表头规则类型,指定不同默认值,把赋值脚本替换为以下两中方案,执行没有任何效果,请问是脚本哪里写的有问题吗?
方案一:
var ruleType = currentControl.parent.parent.parent.get("rule_type").value;
var sDate =ruleType=='1'?sDate = moment().format('1900-01-02'): moment().format('YYYY-MM-DD');
const value = { s_date: sDate };
return value;方案二:
(() => {
var ruleType = currentControl.parent.parent.parent.get("rule_type").value;
var sDate =ruleType=='1'?sDate = moment().format('1900-01-02'): moment().format('YYYY-MM-DD');
const value = { s_date: sDate };
return value;
})();
1、使用表格单元格的赋值规则
2、在触发条件中写入自执行函数,具体字段和判断逻辑改为自己的
(() => { var ruleType = currentControl.parent.parent.parent.get("user_name").value; var sDate =ruleType=='张三'? 1: 2; return sDate; })();
3、最终效果如下,满足条件是1,不满足条件是2,
行默认值规则,赋值脚本中return返回的要是一个对象,并且单身获取单头数据,只需要一个parent
正确写法如下varnewvalue = {user_info_name:currentControl.parent.get('user_name').value == 3321?1:2} ;return newvalue;
对象里面可以是当前行多个字段,也可以一个字段,对象中多个字段使用逗号隔开,里面如果有字符串需要使用单引号,对象结束后需要有分号结束,
页:
[1]