2016-08-30 4 views
3

Ich habe einen Bildschirm, wo der Benutzer eine Option auswählen kann (nicht ein Durchsuchen-Galerie, wie es nicht tut, was erforderlich ist).Übergeben Sie einen Wert an einen anderen Bildschirm

Ich möchte das Element, das der Benutzer ausgewählt hat, an das vorgefertigte "DetailScreen1" übergeben, das in der Suchgalerie verwendet wird.

Ich schaute auf den Browse-Bildschirm, aber nicht sehen, wie es funktioniert, da das Navigation onselect -Ereignis nur normale Navigation ist.

Code:

Navigate(DetailScreen1, ScreenTransition.Fade) 

ich so etwas wie

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

Dank

Antwort

8

Sie können den dritten Parameter des Navigate function verwenden, um übergeben zusätzliche Parameter an den Kontext des Bildschirms machen wollen navigiert werden. Zum Beispiel, wenn Sie Ihr erster Bildschirm ein Dropdown und eine Texteingabesteuerung, die Sie die Werte auf den nächsten Bildschirm übergeben mögen, können Sie den folgenden Ausdruck verwenden:

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

Im DetailScreen1, können Sie diesen Kontext verwenden Variablen, wie sie verfügbar sein werden.

Hier ist ein Beispiel: der Drop-Down im ersten Bildschirm enthält eine Liste der Abschnitte, und einer nach dem Auswählen Sie zu einer anderen Seite navigieren würden:

Sample result

In dem „Pfeil nach rechts“, können wir setzen die folgende OnSelect Eigenschaft:

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

im ProductsScreen, können Sie dann auf diesen Wert haben, werden gefiltert, um eine Galerie, deren Elemente basieren, die übergeben wurde:

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

Wie hartnäckig ist diese Variable? Bleibt es im Speicher oder müssen Sie es erneut instanziieren, wenn Sie auf einen anderen Bildschirm wechseln? Wie current_user zum Beispiel ...? – Matteo

+1

Der dritte Parameter zum 'Navigieren' legt den Wert der [Kontextvariablen] (https://powerapps.microsoft.com/en-us/tutorials/working-with-variables/) auf dem Zielbildschirm fest. Kontextvariablen bleiben für diesen Bildschirm im Speicher, bis ein anderer Wert auf die gleiche Variable gesetzt wird. Wenn Sie beispielsweise zu Bildschirm B mit einem Wert {a: 1} navigieren, wird der Wert von "a" auf diesem Bildschirm weiterhin 1 bis zu einem anderen Aufruf (entweder Navigieren zu Bildschirm B über "a" als Parameter oder zu) UpdateContext) ändert seinen Wert. – carlosfigueira

Verwandte Themen