# 变量
在低代码平台中,变量有下列几种出现形式
- 作为逻辑、内置函数等的输入参数。
- 作为逻辑、内置函数等的输出参数。
- 作为逻辑、内置函数等的局部变量。
- 作为页面变量。
- 作为前端全局变量。
- 作为公共变量。
- 作为
ForEach
、Filter
等组件的一种特殊组成成分。
无论哪一种,变量名都必须满足如下规则:以字母开头,后跟至多 63 个英文字母、数字、下划线(_
)的组合。无论哪一种,都可以为变量添加至多 255 个字符的描述。
下面我们分别介绍变量的几种出现形式和使用方式。
# 作为输入参数
作为逻辑、内置函数的输入参数时:
- 必须为输入参数指定一个数据类型。默认的数据类型是
String
。 - 可以开关“是否必填”选项。
- “非必填”时,可以为输入参数设置默认值。
- “必填”时,不能为输入参数设置默认值。
- 支持为 Binary 除外的基础类型和枚举类型设置默认值:
- 基础类型的默认值:
- Boolean 布尔值:从 true 和 false 中选择。
- Integer、Long、Double、Decimal:填写数字。
- String、Text、Email:填写文本。
- Date、Time、DateTime:用时间日期选择器选择。
- Binary:不可指定默认值
- 枚举类型的默认值需从枚举标签中选择。
- 不可以为集合类型、数据结构、实体类型、联合类型(union)指定默认值。
- 基础类型的默认值:
- 逻辑的输入参数可在整个逻辑的内部引用,在逻辑外部不可被引用。
# 作为输出参数
逻辑需要向调用方返回一个值时,便需要定义逻辑的输出参数。
变量作为逻辑的输出参数时:
- 可以指定变量的数据类型,也可以留空让系统自动推断类型。
- 无法调整“是否必填”选项。
- 可以为 Binary 除外的基础类型和枚举类型设置默认值,默认值的类型规则同输入参数中列举的规则。
- 逻辑的输出参数可在整个逻辑的内部引用,在逻辑外部不可被引用。
# 作为局部变量
在一个值需要被多次用到或者经过复杂的步骤算出时,我们往往会考虑定义局部变量来存储这个值:例如定义一个叫 sum
的局部变量,来承接一个数值列表中元素的总和。
变量作为逻辑的局部变量时,其规则与作为输出参数的变量的规则相同。
# 作为页面变量
可以右键点击一个页面,选择“添加局部变量”来添加页面变量。
页面变量的规则与局部变量的规则相同,但其在页面中、页面逻辑、页面事件逻辑中都可见。
目前页面变量在(页面的)子页面的页面逻辑、事件逻辑中不可见。
# 作为前端全局变量
可以右键点击“前端全局变量”,选择“添加前端全局变量”来添加一个前端全局变量。
前端全局变量的规则与局部变量的规则相同,但其在整个前端都可见,包括页面、页面逻辑、事件逻辑、子页面、子页面逻辑、子页面事件逻辑。
# 作为公共变量
低代码平台存在的公共变量及其说明如下:
# userInfo
存放低代码应用中的用户信息,支持在页面逻辑中使用。
属性名称 | 说明 |
---|---|
Status | 用户状态 |
UserInfoExtend | 用户扩展信息 |
UserName | 用户名 |
用户邮箱地址 | |
UserId | 用户ID |
Phone | 用户手机号码 |
CreateTime | 用户创建时间 |
UpdateTime | 用户信息更新时间 |
LoginCount | 登录次数 |
Source | 用户来源 |
# 作为 组件的特殊组成成分
如下图所示,ForEach 逻辑组件会引入每一项 item
和索引 index
两个变量,它们仅可在该循环体中使用。
部分“List 内置函数”会引入代表 list 每一项的 item
变量(交互上有提示),部分“Map 内置函数”会引入代表 map 每一项键值对的 key
、value
两个变量。
前端页面表格组件会引入代表每个单元格的 current
变量。
# 变量的类型与推断规则
变量的类型可以从所有平台支持的类型中选择,或让系统自动推断其类型。
变量的类型在以下的情形时被确定:
- 变量被赋值时,赋值号右侧表达式的类型即为变量的类型。
- 逻辑(内置函数、接口等)调用时,变量作为实际参数传递给输入参数,输入参数的类型即为变量的类型。
- 作为
if
的条件时,被确定为布尔类型。
当变量被多次赋值或多次作为实际参数传递时,其类型在第一次被赋值或作为实际参数传递时被确定。
- 在可视化逻辑流中,按流的方向顺序确定(视觉上从上到下)。
- 在调用时,按输入参数的定义顺序确定(视觉上从左到右)。
- 在
switch
中,按视觉上的从左到右(分支本身的顺序)、从上到下(分支内部的语句顺序)的顺序确定。 - 如果
if
组件中多次出现确定,则按条件处、yes 分支、no 分支的顺序确定。