Altri modi per usare la funzione Navigate
Esistono molti modi per spostarsi nella propria app oltre al semplice utilizzo della proprietà OnSelect
di un controllo pulsante o icona. Questa unità presenta tre tecniche comuni: la proprietà OnSuccess
di un controllo Form
, la proprietà OnTimerEnd
di un controllo Timer
e la proprietà OnChange
di un controllo Dropdown
.
Spostamento con OnSuccess
Per i progettisti, una considerazione sull'esperienza utente è fornire un feedback agli utenti che inviano modifiche ai dati. Power Apps offre gli strumenti adatti per fornire tale feedback. Se si inserisce una schermata Success nella propria app, si vuole che gli utenti vi siano indirizzati solo quando Power Apps registra correttamente i dati aggiornati. Come si procede?
Per prima cosa, individuare la schermata Success in Nuova schermata>Modelli. Quindi, aggiungerla all'app.
Successivamente, trovare il modulo e andare alla proprietà OnSuccess
. È importante rimandare l'utente alla schermata Success solo se Power Apps registra correttamente i dati. Nella proprietà OnSuccess
è possibile aggiungere una funzione Navigate
con il nome della schermata Success, ad esempio:
Navigate(‘Success Screen’, ScreenTransition.Fade)
Si vorrà quindi che gli utenti possano tornare indietro a un'altra schermata. Una buona tecnica in questo senso (oltre a creare un pulsante o un'icona selezionabile) è rappresentata dall'aggiunta di un controllo Timer
.
Spostamento con OnTimerFine
L'uso di un controllo Timer
è un modo per facilitare lo spostamento degli utenti nell'app. Allo scadere del tempo, la funzione Navigate
passa alla schermata designata. Nell'esempio presente, il controllo Timer
consentirebbe all'utente di vedere il messaggio di operazione completata per alcuni secondi e quindi di tornare alla schermata del catalogo.
Il controllo Timer
è visibile quando lo si aggiunge all'app ed è impostato su una durata di 60.000 millisecondi o 60 secondi. La proprietà AutoStart
è disattivata, il che significa che la si dovrebbe avviare creando un trigger. Nella modalità predefinita, con qualche correzione, la si può impostare modo che si comporti come desiderato. Si farà pratica nell'esercizio della prossima unità, ma intanto ecco un riepilogo dei passaggi:
Inserire un controllo
Timer
.Impostare la proprietà
AutoStart
sutrue
.Impostare la proprietà
Duration
su4000
(quattro secondi).Impostare la proprietà
OnTimerEnd
suNavigate('<yourScreenName>')
.Impostare la proprietà
Visible
sufalse
.
Con AutoStart
impostato su true
, il controllo Timer
viene avviato quando l'utente giunge nella schermata in modalità di anteprima o di riproduzione. Dopo quattro secondi si attiva la funzione Navigate
, inviando l'utente a un'altra schermata.
Spostamento con OnChange
Un'altra buona tecnica di spostamento consiste nell'aggiungere alla propria app un menu o un controllo Dropdown
. Si potrebbe aggiungere la funzionalità di spostamento con elenco a discesa a una singola schermata e quindi copiarla in altre schermate dell'app.
Un controllo Dropdown
usa una tabella di dati (tipo di dati: Table
). Quindi, nella proprietà Items
si può inserire qualsiasi tabella di dati che si desidera. Se sono solo due le schermate tra cui spostarsi, è possibile inserire una tabella nella proprietà Items
del controllo Dropdown
come indicato di seguito:
["","Catalog", "Admin"]
Le parentesi quadre indicano una tabella di dati e il codice ha lo stesso significato di questo esempio:
Table({Value: ""},{Value: "Catalog"},{Value: "Admin"})
Le parentesi quadre offrono un modo più semplice per immettere gli stessi dati.
Si è aggiunta una stringa di testo vuota (""
) come primo valore nella tabella. Lo si assegna come proprietà Default
.
Una volta definita la proprietà Items
, è possibile modificare la proprietà OnChange
del controllo Dropdown
.
Suggerimento
Attenzione ad aggiornare la proprietà corretta del controllo Dropdown
. È facile commettere l'errore di aggiornare la proprietà OnSelect
. Ricordare che la proprietà OnSelect
viene inizializzata quando si seleziona il controllo, non quando si modifica il controllo. Assicurarsi di aggiornare la proprietà OnChange
in un'istanza come questa.
Il modo più efficiente per aggiornare la proprietà OnChange
per un controllo Dropdown
consiste nell'usare una funzione Switch
e nel fare riferimento alla stessa mediante la funzione Self
. Si può comunque usare anche una funzione If
.
Switch
e If
sono entrambi un modo per valutare una condizione e quindi eseguire un'azione.
Nell'app Macchine Contoso Coffee, ad esempio, il controllo Dropdown
avrebbe il seguente codice come proprietà OnChange
:
Switch(Self.SelectedText.Value,
"Catalog",Navigate('Catalog Screen',ScreenTransition.Cover),
"Admin",Navigate('Admin Screen',ScreenTransition.Cover)
);
Reset(Self)
L'istruzione Switch
valuta un valore particolare per vedere se corrisponde a uno dei risultati, quindi esegue un'azione. Nell'esempio precedente, Self.SelectedText.Value
è il valore selezionato nel controllo Dropdown
. Se questo valore è Catalog
, la funzione Switch
esegue lo spostamento nella schermata del catalogo. Se invece il valore è Admin
, la funzione Switch
esegue lo spostamento nella schermata di amministrazione.
Switch
esegue solo una singola condizione che dipende dal valore corrispondente. Quindi è l'ideale quando si hanno molte possibili linee d'azione basate su un unico valore.
Infine, si usa la funzione Reset
per reimpostare il controllo Dropdown
sul valore Default
di ""
(stringa vuota).
Se non tutti i concetti sono chiari, nessun problema. Li si esaminerà di nuovo nell'esercizio della prossima unità.