> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coze.cn/llms.txt
> Use this file to discover all available pages before exploring further.

界面变量主要用于存储低代码应用页面的临时数据，实现组件与页面之间的信息传递以及交互联动。例如，要快速复制文本内容，只需将目标文本赋值给界面变量，然后通过调用数据设置方法，即可轻松完成操作。界面变量的作用范围覆盖当前低代码应用内的所有页面，这使得它在跨页面的数据共享和交互中非常实用。本文将详细介绍如何为低代码应用设置界面变量。
## 变量类型 {#6685f1a6}
低代码应用的界面变量与应用变量、系统变量、用户变量是不同使用维度的变量。

* **界面变量**：界面变量用于临时存储页面数据，是比较灵活的变量配置方式，开发者可根据页面交互逻辑随时修改变量值。
* **系统变量**：系统为低代码应用自动创建用户信息、飞书等类别的系统变量，默认全部关闭，为不可用状态，你可以根据实际业务需求选择开启需要的系统变量。开启后，系统在用户请求时自动产生变量数据，这些数据是只读的，不可由用户或开发者修改。
* **应用变量**：应用变量本质是内存变量，每执行一次工作流，应用变量就会自动恢复到最初设定的默认值，就像游戏中的生命值，每次开始新的一局游戏时，生命值都会重置为游戏设定的初始值。
* **用户变量**：用户变量用于存储每个用户在使用低代码应用过程中，需要持久化存储和读取的数据，例如用户的个性化设置、语言偏好、历史交互记录等。

关于系统变量、应用变量和用户变量的详细说明，请参考[为低代码应用设置变量](/guides/add_variables_in_app)。
## 定义变量 {#3a94f946}
在低代码应用**用户界面**的**数据**页签下，单击 **+** 图标，定义变量。其中，默认值为可选配置。
:::tip 说明
* 定义界面变量时，每个界面变量名需在低代码应用内唯一，可与应用变量、系统变量、用户变量同名。
* 修改界面变量名称，可能会对已引用该变量的组件产生影响。因此，如果要修改变量名称，请同步更新组件中的界面变量配置。
:::
![Image=513x152](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/1a4bbe7380854328ae0c63f4f10fa3d3~tplv-goo7wpa0wc-image.image)
页面变量无需设置数据类型，将自动根据变量值格式自动设置，支持的数据类型如下：

* String：字符串，用于存储文本数据，例如单词、句子或字符序列。 
* Integer：整数，用于存储整数，例如 -3、0、1024 等。 
* Boolean：布尔值，用于逻辑判断和条件控制，可选值为 true 和 false。
* Number：数值，用于存储带小数部分的数值，包括整数和浮点数，例如 3.14、-0.001 等。 
* Object：对象，用于存储键值对集合，可以表示复杂的数据结构，例如 JSON 对象。 
* Array<String>：字符串数组，用于存储一系列字符串，每个元素都是 String 类型。 
* Array<Integer>：整数数组，用于存储一系列整数，每个元素都是 Integer 类型。 
* Array<Boolean>：布尔值数组，用于存储一系列布尔值，每个元素都是 Boolean 类型。 
* Array<Number>：数值数组，用于存储一系列数值，每个元素都是 Number 类型。 
* Array<Object>：对象数组，用于存储一系列对象，每个元素都是 Object 类型。

## 为变量赋值 {#4f65ee6a}
在定义变量时，你可以为变量设置一个默认值。你也可以通过事件动作，为变量赋予动态值，即添加一个组件，在组件的**事件**配置中，完成如下配置。

* **执行动作**：选择**界面变量赋值**。
* **选择界面变量**：选择为需要赋值的界面变量。
* **变量值**：包括输入值或默认值。
   * **输入值**：支持输入静态值或动态变量值，例如 `{{translation.data}}`。
   * **默认值**：固定为定义变量时的默认值。

![Image=243x298](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/6ecdf980a8194834b211d441225e1252~tplv-goo7wpa0wc-image.image)
## 配置示例 {#969c217d}
例如在图像生成类应用中，若要根据内置提示词生成同款图像时，可通过为界面变量赋值方式快速复制内置提示词，并填入到提示词输入框中，配置如下：

* 在**数据**页签中定义一个名为 `prompt` 的变量。
* 为内置提示词所在文本框 **Text9** 组件添加一个事件，单击该文本框时，将提示词内容赋值给为`prompt`变量。
   * **事件类型**：选择**点击时**。
   * **执行动作**：选择**界面变量赋值**。
   * **选择界面变量**：选择 `prompt`。
   * **变量值**：选择**输入值**，并输入 `{{Text9.content}}`。
   ![Image=2558x1033](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/8fb74bd247a74e97820c83f42684a582~tplv-goo7wpa0wc-image.image)
* 为提示词输入框 **Textarea1** 组件添加一个事件，当鼠标聚焦在输入框时，自动将 `prompt` 变量值填入该组件内。
   * **事件类型**：选择**数据聚焦时**。
   * **执行动作**：选择**控制组件**。
   * **选择组件**：选择 **Textarea1**。
   * **组件方法**：选择**设置数据**。
   * **数据**：输入 `{{prompt.value}}`。
   ![Image=2016x1047](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/5088deebf42c42dab7e21b56b82d1bac~tplv-goo7wpa0wc-image.image)






