控件默认值表达式
最后更新于:2022-04-02 07:18:00
# Online控件默认值表达式规则
[TOC]
在`页面属性`中,有一列是`控件默认值`的输入框。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/70/4a/704ae1b52f123b55332287a8251cec61_190x392.png)
## 各种用法规则
### 一、纯字符串
直接输入任意字符串,在新增时就会把内容填充到输入框内。
配置: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/c5/90/c5906d97c7aed9de65362334b22d0298_188x101.png)
效果: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/bd/1f/bd1fa1153343a23b09d9090c527c1e76_197x60.png)
### 二、填值规则表达式
`${...}` 是填值规则的表达式
具体参考 [填值规则文档 ](http://doc.jeecg.com/2044064)
### 三、系统上下文变量(普通表达式)
`#{...}` 是普通表达式
配置:![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/06/7f/067f7f98f7834c740314c1067c216dbe_183x109.png)
效果:![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/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://docs.gechiui.com/gc-content/uploads/sites/kancloud/a2/59/a2591c727ede26d2acbcf177a7a227de_183x106.png)
效果:![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/a1/0c/a10cc671d709d936b4a15dfe4b6da660_171x69.png)
但是如果需要更高级JS表达式,例如定义变量、逻辑判断等,则需要你写一个自定义方法来调用。
自定义方法必须要写到 `src/utils/CustomExpression.js` 文件中,且要 `export` 才能在表达式中使用。
示例:![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/b0/ea/b0ea5781b1621f81e78dd8ba9e5172c8_355x160.png)
配置:![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/c5/a4/c5a42d0f37e6d58662d22dfc0fc5842e_184x163.png)
效果:![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/a4/41/a44124e41e6ba58dc9e89a2311f11a5b_246x132.png)
> 注:执行方法必须加括号`()`,括号内可以传参数
## 各个表达式之间的注意事项
* `填值规则表达式`之外的其他表达式都可以混合使用。
* `填值规则表达式` 只可以和纯字符串混用,和其他表达式混用则不解析。
* `填值规则表达式`一个字段里只能填写一个,填写多个不解析。
* `自定义JS表达式`内部只能写简单的JS表达式,例如加减乘除、三元表达式、调方法等。
* `自定义JS表达式`自定义方法必须要写到 `src/utils/CustomExpression.js` 文件中,且要 `export` 才能在表达式中使用。
* 如果写了`自定义JS表达式`,并且 `export` 了,但是没有识别,那么请刷新后重试。
';