Set 函数

适用于:画布应用卡片 Dataverse 低代码插件 Power Platform CLI

设置全局变量的值。

概览

使用 Set 函数设置全局变量的值,该变量暂时保留一条信息,如用户已选择某按钮的次数或数据运算的结果。

全局变量可用于应用的所有屏幕。 它们是最简单的变量类型,并且可满足多数场景的需求。 另外,还有上下文变量,它们的作用域仅限于单个屏幕和允许对表进行行级别修改的集合。 有关其他选项的详细信息,请查看了解变量

Power Apps 以公式为基础,这些公式会在用户与应用交互时自动重新计算。 任何依赖于变量的公式都会在变量更改时自动更新。 但是,如果 Set 函数中使用的公式的值更改,变量不会自动更新。 这需要应用开发者手动更新变量,这样做可能很容易出错,对于其他人也更难理解。 使用变量之前,请查看了解变量

描述

全局变量是使用 Set 函数隐式创建而成。 无需显式声明。 如果删除了全局变量的所有 Set 函数,该全局变量将不再存在。 若要清除变量,请将其值设置为 Blank 函数的结果。

在 Power Apps Studio 中,可以使用文件菜单下的“变量”视图查看变量的值、定义和使用情况。

如本主题后面的示例所示,全局变量可保留多种信息,包括:

  • 单个值
  • 记录
  • 对象引用
  • 公式的任何结果

全局变量可保留其值,直到应用关闭。 应用关闭后,全局变量的值将丢失,重新加载应用时则必须重新创建该值。

全局变量使用的名称不能与已有集合或控件相同。 其使用的名称可以与上下文变量相同。 若要区分这两者,请使用消除歧义运算符

Set 没有返回值,只可以在行为公式中使用它。

语法

Set( VariableName, Value )

  • VariableName - 必需。 要创建或更新的全局变量名称。
  • Value - 必需。 要分配给上下文变量的值。

示例

公式 描述 结果
Set( Counter, 1 ) 创建或修改全局变量 Counter,将其值设置为 1 Counter 的值为 1。 可通过在公式中使用名称 Counter 来在任意屏幕上引用该变量。
Set( Counter, 2 ) 将上一示例中 Counter 全局变量的值设置为 2 Counter 的值为 2
Set( Counter, Counter + 1 ) 将上一示例中 Counter 全局变量的值增加至 3 Counter 的值为 3
Set( Name, "Lily" ) 创建或修改全局变量 Name,将其值设置为 Lily Name 的值为 Lily
Set( Person, { Name: "Milton", Address: "1 Main St" } ) 创建或修改全局变量 Person,将其值设置为一条记录。 该记录包含名为姓名地址的两列。 姓名列为 Milton地址列的值为 1 Main St Person 具有记录 { Name: "Milton", Address: "1 Main St" } 的值。

使用名称 Person 整体引用此记录,或使用 Person.NamePerson.Address 引用此记录的单个列。
Set( Person, Patch( Person, {Address: "2 Main St" } ) ) 搭配使用 Patch 函数更新 Person 全局变量,将地址列的值设置为 2 Main St Person 现在具有记录 { Name: "Milton", Address: "2 Main St" } 的值。