# 功能函数

设计器属性转换表达式本质上就是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