# 功能函数
设计器属性转换表达式本质上就是javascript
,为了避免设置复杂逻辑时还是会写大量代码的情况,设计器支持使用功能函数简化逻辑定义
使用 vjform 或 jformer 呈现界面可通过二次开发扩展功能函数
# 内置功能函数
# 数学运算
设计器支持使用 vjform 中定义的常用功能函数
- ADDITION (数字 1, 数字 2) 两数相加
js 数学运算会有精度丢失问题,函数处理了这个问题
- DIVISION (数字 1, 数字 2) 两数相除
- MULTIPLY (数字 1, 数字 2) 两数相乘
- SUBTRACTION (数字 1, 数字 2) 两数相减
# 逻辑运算
- EQUAL (值 1, 值 2) 两值相等
- IF (条件, 直值, 假值) 条件判断
可以根据条件返回真值或假值,如果值是一个函数,则会在条件判断结束后执行
- INCLUDES (数组, 值) 数组中是否包含
# 数组运算
- FILTER (数组, 过滤表达式) 过滤数组
- FIND (数组, 过滤表达式) 查找数组元素
- MAP (数组, 表达式) 数组映射成新数组
- REDUCE (数组, 表达式, 初值)
# 对象
- GET (对象, 属性) 获取对象属性
# 示例
组件属性是 model 里两个属性值相加
$:ADDITION(model.value1, model.value2)
1
给 model 里的 data 属性值赋值,值是数据源 ds1 的 data 属性每一项乘 2
@data:MAP(datasource.ds1.data, (item) => MULTIPLY(item, 2))
1