将值传递到另一个屏幕

Zai*_*ain 10 powerapps

我有一个屏幕,用户可以在其中选择一个选项(不是浏览图库,因为它不会执行所需的操作).

我想将用户选择的项目传递给浏览库使用的预制"DetailScreen1".

我查看了浏览屏幕,但没有看到它是如何做的,因为导航onselect事件只是正常导航.

码:

Navigate(DetailScreen1, ScreenTransition.Fade)
Run Code Online (Sandbox Code Playgroud)

我想做点什么

Navigate(DetailScreen1, ScreenTransition.None {Last(listOfStuff)})
Run Code Online (Sandbox Code Playgroud)

谢谢

car*_*ira 17

您可以使用Navigate函数的第三个参数将额外参数传递到导航到的屏幕的上下文.例如,如果您的第一个屏幕有一个下拉列表和一个要将值传递给下一个屏幕的文本输入控件,则可以使用以下表达式:

Navigate(DetailScreen1, ScreenTransition.Fade, { text: TextInput1.Value, dropdownChoice: Dropdown1.Selected.Value })
Run Code Online (Sandbox Code Playgroud)

在DetailScreen1中,您可以使用这些上下文变量,因为它们可用.

下面是一个示例:第一个屏幕中的下拉列表包含一个部分列表,选择一个部分后,您将导航到另一个页面:

样本结果

在"右箭头"中,我们可以设置以下OnSelect属性:

Navigate(ProductsScreen, ScreenTransition.Fade, { selectedSection: Dropdown1.Selected.Value })
Run Code Online (Sandbox Code Playgroud)

在ProductsScreen中,您可以拥有一个库,其项目根据传递的值进行过滤:

Items: Filter(AllProducts, Section = selectedSection)
Run Code Online (Sandbox Code Playgroud)