# Online控件默认值表达式规则 [TOC] 在`页面属性`中,有一列是`控件默认值`的输入框。 ![](https://img.kancloud.cn/70/4a/704ae1b52f123b55332287a8251cec61_190x392.png) ## 各种用法规则 ### 一、纯字符串 直接输入任意字符串,在新增时就会把内容填充到输入框内。 配置: ![](https://img.kancloud.cn/c5/90/c5906d97c7aed9de65362334b22d0298_188x101.png) 效果: ![](https://img.kancloud.cn/bd/1f/bd1fa1153343a23b09d9090c527c1e76_197x60.png) ### 二、填值规则表达式 `${...}` 是填值规则的表达式 具体参考 [填值规则文档 ](http://doc.jeecg.com/1524933) ### 三、系统上下文变量(普通表达式) `#{...}` 是普通表达式 配置:![](https://img.kancloud.cn/06/7f/067f7f98f7834c740314c1067c216dbe_183x109.png) 效果:![](https://img.kancloud.cn/cd/f3/cdf38cf47e032e636c4cd884ea4925f2_210x74.png) 在`#{}`内可以使用的变量分别有: * `sysUserId`:当前登录用户的ID * `sysUserCode`:当前登录用户的username * `sysUserName`:当前登录用户的真实姓名(realname) * `sysOrgCode`:当前登录用户的部门编号 * `date`:当前系统日期(例:2020-01-12) * `time`:当前系统时间(例:12:01:51) * `datetime`:当前系统日期时间(例:2020-01-12 12:01:51) ### 四、自定义JS表达式 `{{...}}`是自定义JS表达式 在这个双大括号内可以填写简单的JS表达式,该表达式的最终执行结果就是控件的默认值。 配置:![](https://img.kancloud.cn/a2/59/a2591c727ede26d2acbcf177a7a227de_183x106.png) 效果:![](https://img.kancloud.cn/a1/0c/a10cc671d709d936b4a15dfe4b6da660_171x69.png) 但是如果需要更高级JS表达式,例如定义变量、逻辑判断等,则需要你写一个自定义方法来调用。 自定义方法必须要写到 `src/utils/CustomExpression.js` 文件中,且要 `export` 才能在表达式中使用。 示例:![](https://img.kancloud.cn/b0/ea/b0ea5781b1621f81e78dd8ba9e5172c8_355x160.png) 配置:![](https://img.kancloud.cn/c5/a4/c5a42d0f37e6d58662d22dfc0fc5842e_184x163.png) 效果:![](https://img.kancloud.cn/a4/41/a44124e41e6ba58dc9e89a2311f11a5b_246x132.png) > 注:执行方法必须加括号`()`,括号内可以传参数 ## 各个表达式之间的注意事项 * `填值规则表达式`之外的其他表达式都可以混合使用。 * `填值规则表达式` 只可以和纯字符串混用,和其他表达式混用则不解析。 * `填值规则表达式`一个字段里只能填写一个,填写多个不解析。 * `自定义JS表达式`内部只能写简单的JS表达式,例如加减乘除、三元表达式、调方法等。 * `自定义JS表达式`自定义方法必须要写到 `src/utils/CustomExpression.js` 文件中,且要 `export` 才能在表达式中使用。 * 如果写了`自定义JS表达式`,并且 `export` 了,但是没有识别,那么请刷新后重试。