使用控件和函数创建动态公式

已完成

以下练习使用按钮控件和 UpdateContext 函数创建用于更改按钮 DisplayMode 属性的动态公式。

  1. 导航到 Power Apps

  2. 选择 + 创建 > 空白应用 > 创建(从“空白画布应用”下)。 为应用命名,然后选择创建

  3. 选择插入菜单选项,然后添加按钮

  4. 将按钮的 Text 属性更改为添加

    提示

    您可以在编辑模式下双击按钮控件本身,快速更改按钮控件的 Text 属性。

  5. 再插入一个按钮控件并将 Text 更改为 Clear

  6. 向画布添加一个文本标签控件和一个文本输入控件。

  7. 将文本输入控件重命名为 tiAmount,然后在 Default 属性中,删除“文本输入”。对于 Format 属性,输入 TextFormat.Number

    注意

    下图显示了已完成的练习。 有关控件的位置和名称,请参考此图。 如果您的代码返回任何错误,请仔细检查控件名称是否与编写的代码相匹配。

    排列的控件的屏幕截图。

  8. 选择添加按钮 (Button1) 并将 OnSelect 属性设置为:

    UpdateContext({RunningTotal: RunningTotal + Value(tiAmount.Text)})
    
  9. 选择 Clear 按钮 (Button2) 并将 OnSelect 属性设置为:

    UpdateContext({RunningTotal: 0}); Reset (tiAmount)
    
  10. 将“清除”按钮的 DisplayMode 属性设置为:

    If(RunningTotal > 0, DisplayMode.Edit, DisplayMode.Disabled)
    

    请注意,在更新 DisplayMode 属性后,按钮将灰显(或已禁用)。

  11. 选择标签 (Label1) 控件并将 Text 属性更新为我们的上下文变量:RunningTotal

  12. 在预览模式下测试应用。 在文本输入中,输入正数并选择添加按钮。

    选择 Add 按钮后,Clear 按钮重新可供选择。

  13. 选择清除按钮以清除输入字段和 RunningTotal。

    在本示例中,我们使用了 If 函数来评估 RunningTotal 是否大于 0。 如果它大于 0,Clear 按钮将变为可编辑 (DisplayMode.Edit)。 如果变量无值或为 0,我们的按钮将被禁用 (DisplayMode.disabled)。

    实现相同功能的另一种方法是避免在公式中使用上下文变量。 在本例中,您可以为 DisplayMode 公式中的控件命名。 例如,我们可以在公式中使用标签控件中的值。

  14. 将应用重设为编辑模式,然后选择 Clear 按钮。 选择 DisplayMode 属性,然后将公式更改为以下内容:

    If(Value(Label1.Text) > 0, DisplayMode.Edit, DisplayMode.Disabled)
    

    我们的标签控件会将信息存储为文本,因此不要忘记使用 Value 函数。 Value 函数可将数值文本字符串转换为数字。 如果您尝试将文本与值进行比较,则会在公式中看到一个错误。 将标签的 Text 属性包装在 Value 函数中可确保 Power Apps 将其解读为数字。

在继续学习、开发和部署更多应用的过程中,您将发现通常可以至少通过几种方法使用不同的控件、函数和属性来创建相同的功能。