Back to Nocobase

变量

docs/docs/cn/interface-builder/variables.md

2.1.26.9 KB
Original Source

变量

介绍

变量是一组标记,用来标识当前上下文中的某个值,可以在配置区块数据范围、字段默认值、联动规则、工作流等场景下使用。

现在已经支持的变量

当前用户

表示当前登录用户的数据。

当前角色

表示当前登录用户的角色标识(role name)。

当前表单

当前表单的值,仅用于表单区块。使用场景有:

  • 当前表单的联动规则
  • 表单字段默认值(仅新增数据时有效)
  • 关系字段的数据范围设置
  • 提交操作的字段赋值配置

当前表单的联动规则

表单字段默认值(仅新增表单)

<!-- ![20240416171129_rec_](https://static-docs.nocobase.com/20240416171129_rec_.gif) -->

关系字段的数据范围设置

用于根据上游字段动态筛选下游字段的可选项,确保数据录入准确。

示例:

  1. 用户选择 Owner 字段的值。
  2. 系统根据所选 Owner 的 userName 自动筛选 Account 字段的选项。

<!-- ![20240416171743_rec_](https://static-docs.nocobase.com/20240416171743_rec_.gif) --> <!-- #### 提交操作的字段赋值配置 ![20240416171215_rec_](https://static-docs.nocobase.com/20240416171215_rec_.gif) --> <!-- ### 当前对象 目前仅用于表单区块的子表单和子表格的字段配置,表示其每一项的值: - 子字段的默认值 - 子关系字段的数据范围 #### 子字段的默认值 ![20240416172933_rec_](https://static-docs.nocobase.com/20240416172933_rec_.gif) #### 子关系字段的数据范围 ![20240416173043_rec_](https://static-docs.nocobase.com/20240416173043_rec_.gif) --> <!-- ### 上级对象 与「当前对象」类似,表示当前对象的父级对象。在 NocoBase v1.3.34-beta 及以上版本中支持。 -->

当前记录

记录是指数据表中的行,每一行代表着一条记录。在展示类的区块的行操作的联动规则里都有「当前记录」变量。

示例:「已付款」的单据禁用删除按钮。

当前弹窗记录

弹窗操作在 NocoBase 界面配置中扮演着非常重要的角色。

  • 行操作的弹窗:每个弹窗都会有个「当前弹窗记录」变量,表示当前行记录。
  • 关系字段的弹窗:每个弹窗都会有个「当前弹窗记录」变量,表示当前点击的关系记录。

弹窗里的区块都可以使用「当前弹窗记录」这个变量,相关使用场景有:

  • 配置区块的数据范围
  • 配置关系字段的数据范围
  • 配置字段的默认值(新增数据的表单)
  • 配置操作的联动规则
<!-- #### 配置区块的数据范围 ![20251027151107](https://static-docs.nocobase.com/20251027151107.png) #### 配置关系字段的数据范围 ![20240416224641_rec_](https://static-docs.nocobase.com/20240416224641_rec_.gif) #### 配置字段的默认值(新增数据的表单) ![20240416223846_rec_](https://static-docs.nocobase.com/20240416223846_rec_.gif) #### 配置操作的联动规则 ![20240416223101_rec_](https://static-docs.nocobase.com/20240416223101_rec_.gif) <!-- #### 表单提交操作的字段赋值配置 ![20240416224014_rec_](https://static-docs.nocobase.com/20240416224014_rec_.gif) --> <!-- ### 表格选中记录 目前仅用于表格区块的 Add record 操作的表单字段默认值 #### Add record 操作的表单字段默认值 --> <!-- ### 父级记录(已弃用) 仅限于关系区块里使用,表示关系数据的源记录。 :::warning 「父级记录」已弃用,建议使用等价的「当前弹窗记录」代替。 ::: <!-- ### 日期变量 日期变量是一种可动态解析的日期占位符,在系统中可用于设置区块数据范围、关系字段数据范围、操作联动规则中的日期条件,以及日期字段的默认值。根据使用场景的不同,日期变量的解析方式也有所区别:在赋值场景中(如默认值设置),解析为具体的时刻;在筛选场景中(如数据范围条件),解析为时段范围,以支持更灵活的过滤。 #### 筛选场景 相关使用场景有: - 区块数据范围的日期字段条件设置 - 关系字段的数据范围的日期字段条件设置 - 操作联动规则的日期字段条件设置 ![20250522211606](https://static-docs.nocobase.com/20250522211606.png) 相关变量有: - Current time - Yesterday - Today - Tomorrow - Last week - This week - Next week - Last month - This month - Next month - Last quarter - This quarter - Next quarter - Last year - This year - Next year - Last 7 days - Next 7 days - Last 30 days - Next 30 days - Last 90 days - Next 90 days #### 赋值场景 在赋值场景中,同一个日期变量会根据目标字段的类型自动解析为不同的格式。例如,当使用 Today 为不同类型的日期字段赋值时: - 对于时间戳字段(Timestamp)和含时区的日期时间字段(DateTime with timezone),变量会解析为完整的 UTC 时间字符串,如 2024-04-20T16:00:00.000Z,包含时区信息,适用于跨时区同步需求。 - 对于无时区的日期时间字段(DateTime without timezone),变量会解析为本地时间格式字符串,如 2025-04-21 00:00:00,不带时区信息,更适合本地业务逻辑处理。 - 对于仅日期字段(DateOnly),变量会解析为纯日期字符串,如 2025-04-21,仅包含年月日,无时间部分。 系统会根据字段类型智能地解析变量,确保赋值时格式正确,避免因类型不匹配导致的数据错误或异常。 ![20250522212802](https://static-docs.nocobase.com/20250522212802.png) 相关使用场景有: - 表单区块中日期字段默认值设置 - 联动规则中日期字段属性 value 设置 - 提交按钮中的日期字段赋值 相关变量有: - Now - Yesterday - Today - Tomorrow -->

URL 查询参数

该变量表示的是当前页面 URL 中的查询参数,只有当页面 URL 中存在查询字符串时该变量才是可用状态。配合链接操作一起使用会更方便。

API token

该变量的值是一个字符串,是用于访问 NocoBase API 的凭证。可以用于验证用户的身份。

当前设备类型

示例:非电脑端设备不显示「模板打印」操作。