Navigate 和 Back 函数
我们来了解如何向 Navigate
和 Back
函数添加参数,以增强 Power Apps 应用中的用户界面。 在语法中,方括号表示可选参数。
Navigate 函数
下面是 Navigate
的语法分解:
Navigate(Screen [, ScreenTransition [, UpdateContextRecord ]])
Screen
(必填)- 要显示(或导航到)的屏幕。ScreenTransition
(可选)- 当前屏幕和下一个屏幕切换时使用的切换效果。 默认值为None
。UpdateContextRecord
(可选):包含至少一个列的名称和每个列的值的记录。 本记录会更新新屏幕的相应上下文变量。
换句话说,必须填写第一个参数,让 Power Apps 了解要转到哪个屏幕。 第二个参数可用于指定旧屏幕在视觉上如何变为新屏幕。 您可以使用第三个参数将上下文值传递到新屏幕。
Back 函数
下面是 Back
的语法分解:
Back([ScreenTransition])
-
ScreenTransition
(可选)- 当前屏幕和下一个屏幕切换时使用的切换效果。 默认值是将用户引导到屏幕的Navigate
函数的反向屏幕切换。
将 Back
添加到应用时,必须添加括号:Back()
。
Back
函数可将用户返回到应用最近显示的屏幕。 当用户转到其他屏幕时,应用会跟踪屏幕的路径和使用的切换效果。 当运行 Back
函数时,反向屏幕切换也会运行。 使用 Back
,您的用户可以一直返回到他们打开该应用时显示的屏幕。
屏幕切换
下面,我们要进一步探讨屏幕切换,因为它们可能是 Navigate
和 Back
公式的一部分。 Power Apps 提供以下可用选项:
ScreenTransition.Cover
:新屏幕从右到左滑入视图,覆盖当前屏幕。ScreenTransition.CoverRight
:新屏幕从左到右滑入视图,覆盖当前屏幕。ScreenTransition.Fade
:当前屏幕淡出以显示新屏幕。ScreenTransition.None
(默认):新屏幕快速取代旧屏幕。ScreenTransition.UnCover
:当前屏幕从右到左滑出视图,显露出新屏幕。ScreenTransition.UnCoverRight
:当前屏幕从左到右滑出视图,显露出新屏幕。
示例
下表提供一些使用 Navigate
和 Back
切换效果的公式示例。 表中的几个 Navigate
示例中还添加了几个 UpdateContextRecord
参数,以便您可以看到它们在应用中的效果。
公式 | 描述 | 结果 |
---|---|---|
Navigate(Details) |
显示 Details 屏幕,不发生切换且上下文变量的值无任何更改。 |
Details 屏幕快速显示。 |
Navigate(Details, ScreenTransition.Fade) |
显示 Details 屏幕,切换方式为 Fade 。 上下文变量的值不会更改。 |
当前屏幕淡出以显示 Details 屏幕。 |
Navigate(Details, ScreenTransition.Fade, {ID: 12}) |
显示 Details 屏幕,切换方式为 Fade 。 将 ID 上下文变量的值更新为 12 。 |
当前屏幕淡出以显示 Details 屏幕,并将屏幕上的上下文变量 ID 设置为 12 。 |
Navigate(Details, ScreenTransition.Fade, {ID: 12 , Shade: Color.Red}) |
显示 Details 屏幕,切换方式为 Fade 。 将 ID 上下文变量的值更新为 12 。 将 Shade 上下文变量的值更新为 Color.Red 。 |
当前屏幕淡出以显示 Details 屏幕。 Details 屏幕的上下文变量 ID 设置为 12 ,上下文变量 Shade 设置为 Color.Red 。 如果在 Details 屏幕上将某控件的 Fill 属性设置为 Shade ,该控件将显示为红色。 |
Back() |
使用默认返回切换效果显示上一屏幕。 | 应用通过当前屏幕出现时所用的切换效果的反向效果来显示上一屏幕。 |
Back(ScreenTransition.Cover) |
使用 Cover 切换显示上一屏幕。 |
应用通过 Cover 转换显示上一屏幕,无论当前屏幕出现使用哪种转换。 |
总而言之,Navigate
和 Back
函数可利用参数进行自定义。 可以使用 Navigate
函数帮助用户切换到另一个屏幕,但也可以添加视觉切换效果,甚至在过程中设置上下文变量。 Back
函数提供将用户导航到当前屏幕的任何切换的反向效果,也可以定义切换效果。 用户体验由您决定!
截至目前,只使用了 OnSelect
函数作为向应用添加导航的方式。 我们将在下一个单元中学习一些添加应用导航的其他方法。