其他变量概念

已完成

您已了解 Power Apps 逻辑概念和变量类型,接下来还需要扩展一些其他概念,帮助将变量集成到应用中。

变量可以自引用

本概念同时适用于全局变量和上下文变量。 有时需要创建指向自身的变量。 通常在执行递增值的计数器类型变量或追加字符串时采用这种做法。 可以通过 Power Apps 轻松实现本目标。 对按钮的 OnSelect 属性使用以下公式设置计数器。

Set(varCounter, varCounter + 1)

在按钮旁边放置标签,在 Text 属性中设置 VarCounter。 第一次选择按钮时,值将为 1。 如果第二次选择按钮,值将为 2。 使用下表查看文本翻译。

VarCounter 功能动画。

按下按钮前的 varCounter 值 按下按钮 公式 按下按钮后的 varCounter 值
0 第一次 Set(varCounter, varCounter + 1) Set(varCounter, 0 + 1) 1
1 第二次 Set(varCounter, varCounter + 1) Set(varCounter, 1 + 1) 2
2 第三次 Set(varCounter, varCounter + 1) Set(varCounter, 2 + 1) 3

首次启动应用时,varCounter 值为 0,每次选择按钮时增加 1。 切记如未设置默认属性,变量的默认值取决于变量类型。

  • 文本变量是 ""

  • 数字变量为 0

  • 布尔变量为 false

变量可以存储单个记录

本概念适用于全局变量和上下文变量。 集合稍有不同,因为集合是由一个或多个记录组成的表,这意味着需要采用不同的方法存储和检索集合的记录。

上一单元介绍了如何在全局变量或上下文变量中存储单个值。 还可以在变量中存储记录。 执行本操作时,可以使用点 (.) 符号引用不同的字段或列。

本示例将整个用户记录存储在名为varUser的全局变量中。 为此,请使用以下函数。

Set(varUser, User())

这会将整个用户记录存储在变量中。 用户记录包含三列:电子邮件、全名和图像。 可以使用点 (.) 符号检索各列的值。 要显示用户的电子邮件地址,请在屏幕中添加标签控件并将文本属性设置为:

varUser.Email

本示例存储来自基于操作的数据源的记录。 还可以使用LookUp函数从变量的表格数据源(例如 Microsoft Dataverse)中检索和存储记录。

变量不自动更新

对于不熟悉变量的人员来说,变量不自动更新是一个常见的混淆点。 例如,通过对应用使用 OnStart 来使用变量存储客户发票的数量。 然后用户在应用中新建发票。 变量不区分系统中已更改的发票数量。 变量仅在以下情况下更新:

  • 用户关闭应用,然后再次打开应用。 这导致 OnStart 执行操作计算发票数量。

  • 您实施在用户创建发票后更新变量的功能。

如果不熟悉使用变量跟踪数据,请注意这一常见的混淆点。