Autres moyens d’utiliser la fonction Navigate

Effectué

De nombreuses façons permettent de configurer la navigation dans votre application, au-delà du recours à la propriété OnSelect d’un contrôle de bouton/d’icône. Cette unité présente trois techniques courantes : la propriété OnSuccess d’un contrôle Formulaire, la propriété OnTimerEnd d’un contrôle Minuterie et la propriété OnChange d’un contrôle Liste déroulante.

Navigation OnSuccess

Pour améliorer l’expérience utilisateur, il est utile de fournir des commentaires après un envoi réussi de données. Power Apps offre des outils pour y parvenir. Par exemple, si vous insérez un écran Success Screen dans votre application, vous pouvez configurer la navigation pour l’afficher seulement si les données sont enregistrées avec succès.

Tout d’abord, insérez un écran Success Screen à l’aide de la liste déroulante Nouvel écran et redéfinissez son nom sur Success Screen.

Ensuite, sélectionnez votre formulaire et recherchez sa propriété OnSuccess. Assurez-vous que les utilisateurs accèdent à l’écran Success Screen seulement si des données sont enregistrées avec succès à l’aide de la formule suivante :

Navigate(‘Success Screen’, ScreenTransition.Fade)

Cette fonction Navigate se déclenche uniquement après l’envoi réussi du formulaire.

Ensuite, configurez un moyen permettant aux utilisateurs de revenir à un écran précédent. Au lieu d’exiger une interaction manuelle, vous pouvez utiliser un contrôle Minuterie.

Navigation OnTimerEnd

Un contrôle Minuterie peut automatiser des transitions telles que le retour à un catalogue ou à un écran d’accueil après l’affichage bref d’un message de réussite.

Par défaut, le contrôle Minuterie :

  • est visible lorsqu’il est ajouté à l’écran ;

  • a sa propriété Duration définie sur 60 000 millisecondes (60 secondes) ;

  • a sa propriété AutoStart définie sur false.

Vous pouvez le personnaliser comme suit :

  1. Insérez un contrôle Minuterie sur l’écran Success Screen.

  2. Définissez la propriété AutoStart sur true.

  3. Définissez la propriété Duration sur 4000 (quatre secondes).

  4. Définissez la propriété OnTimerEnd sur Navigate('<yourScreenName>').

  5. Définissez la propriété Visible sur false.

Avec ces paramètres, la minuterie démarre automatiquement lorsque l’écran se charge et redirige l’utilisateur vers un autre écran après 4 secondes.

Navigation OnChange

Une autre technique de navigation efficace consiste à ajouter un menu à votre application à l’aide d’un contrôle Liste déroulante. Vous pouvez configurer cette liste déroulante sur un écran, puis la copier sur d’autres écrans de votre application à des fins de cohérence.

Un contrôle Liste déroulante utilise une Table comme source de données. Dans la propriété Items, vous pouvez saisir une liste de noms d’écran de votre application comme suit :

["","Home Screen", "Catalog Screen", "Success Screen"]

Cette syntaxe représente une table à une colonne avec les valeurs indiquées. Elle équivaut à :

Table({Value: ""},{Value: "Home Screen"},{Value: "Catalog Screen"}, {Value: "Success Screen"})

La syntaxe entre crochets est une méthode simplifiée de saisie de données de table.

La première valeur, "", est une chaîne vide. Vous pouvez la définir comme propriété Default du contrôle, afin qu’aucune option ne soit présélectionnée.

Une fois la propriété Items configurée, mettez à jour la propriété OnChange du contrôle pour gérer la navigation.

Conseil

Veillez à mettre à jour la propriété OnChange, et non OnSelect. La propriété OnSelect se déclenche lorsque l’utilisateur clique sur un contrôle, tandis que la propriété OnChange est utilisée lorsque la valeur sélectionnée change.

La méthode recommandée consiste à utiliser une fonction Switch avec la référence Self pour évaluer la valeur sélectionnée et effectuer la navigation. Vous pouvez également utiliser une instruction If. Les deux sont des structures logiques conditionnelles.

Par exemple, dans l’application Contoso Coffee Machines, vous pouvez utiliser la formule suivante pour la propriété OnChange d’un contrôle Liste déroulante :

Switch(Self.SelectedText.Value,
    "Catalog",Navigate('Catalog Screen',ScreenTransition.Cover),
    "Admin",Navigate('Admin Screen',ScreenTransition.Cover)
);
Reset(Self)

Cette formule évalue Self.SelectedText.Value, l’élément sélectionné dans la liste déroulante. Si la valeur est « Catalog », l’application accède à l’écran Catalog Screen. Si la valeur est « Admin », il accède à l’écran Admin Screen.

La fonction Switch est idéale lorsque plusieurs résultats sont possibles sur la base d’une seule entrée.

La dernière ligne, Reset(Self), réinitialise la liste déroulante à sa valeur par défaut (""), ce qui supprime la sélection.

Si vous n’êtes pas encore tout à fait à l’aise avec cela, rassurez-vous. Vous reviendrez sur ce processus dans l’exercice de l’unité suivante.