2016-08-30 75 views
3

我有一個屏幕,用戶可以選擇一個選項(不是瀏覽圖庫,因爲它不需要做什麼)。傳遞一個值到另一個屏幕

我想將用戶選擇的項目傳遞給瀏覽圖庫使用的預製「DetailScreen1」。

我看着瀏覽屏幕,但沒有看到它是如何做的,因爲導航的onselect事件只是正常的導航。

代碼:

Navigate(DetailScreen1, ScreenTransition.Fade) 

我要像做

Navigate(DetailScreen1, ScreenTransition.None {Last(listOfStuff)}) 

感謝

回答

8

您可以使用Navigate function的第三個參數爲額外的參數傳遞到屏幕的情況下被導航到。例如,如果你的第一個屏幕上有您想要的值傳遞到下一個屏幕一個下拉列表和一個文本輸入控件,可以使用下面的表達式:

Navigate(DetailScreen1, ScreenTransition.Fade, { text: TextInput1.Value, dropdownChoice: Dropdown1.Selected.Value }) 

在DetailScreen1,您可以使用這些背景因爲它們可用。

下面是一個例子:在第一屏下拉包含部分的列表,然後選擇一個後,你將導航到另一個頁面:

Sample result

在「右箭頭」,我們可以設置以下ONSELECT屬性:

Navigate(ProductsScreen, ScreenTransition.Fade, { selectedSection: Dropdown1.Selected.Value }) 

在ProductsScreen,你就可以有一個畫廊,其項目是基於獲得了通過,值過濾:

Items: Filter(AllProducts, Section = selectedSection) 
+0

這個變量有多持久?它是否保留在內存中,或者如果移動到另一個屏幕,您是否必須重新實例化它?像current_user一樣,例如...? – Matteo

+1

「Navigate」的第三個參數將在目標屏幕中設置[上下文變量](https://powerapps.microsoft.com/en-us/tutorials/working-with-variables/)的值。上下文變量將保留在該屏幕的內存中,直到另一個值被設置爲相同的變量。例如,如果您導航至屏幕B並傳遞值{a:1},那麼該屏幕中的「a」值將繼續保持爲1,直到另一次調用(或者導航至屏幕B,並將'a'作爲參數或UpdateContext)更改其值。 – carlosfigueira

相關問題