Más formas de usar la función Navigate
Además de usar la propiedad OnSelect de un botón o control de icono, hay muchas otras formas de configurar la navegación en una aplicación. En esta unidad, hablamos de tres técnicas comunes: la propiedad OnSuccess de un control Formulario, la propiedad OnTimerEnd de un control de Temporizador y la propiedad OnChange de un control Desplegable.
Navegación de OnSuccess
Para mejorar la experiencia del usuario, es útil proporcionar comentarios después de un envío de datos correcto. Power Apps ofrece herramientas para hacerlo. Por ejemplo, si inserta una pantalla Success en su aplicación, puede configurar la navegación para mostrarla solo cuando los datos se hayan guardado correctamente.
Primero, inserte una pantalla Success con el menú desplegable Nueva pantalla y cámbiele el nombre a Success Screen
.
A continuación, seleccione su formulario y busque su propiedad OnSuccess. Para garantizar que los usuarios solo naveguen a la Success Screen cuando los datos se hayan guardado correctamente, utilice la siguiente fórmula:
Navigate(‘Success Screen’, ScreenTransition.Fade)
Esta función Navigate se activa solo después de un envío correcto del formulario.
Luego, configure un sistema para que los usuarios vuelvan a una pantalla anterior. En lugar de depender de interacción manual, puede usar un control de Temporizador.
Navegación OnTimerEnd
Un control de Temporizador puede automatizar transiciones, como volver a un catálogo o pantalla de inicio después de mostrar brevemente un mensaje de éxito.
Estas son algunas características predeterminadas del control de Temporizador:
Es visible cuando se agrega a la pantalla.
Tiene una Duración de 60 000 milisegundos (60 segundos).
Tiene la opción AutoStart establecida en false.
Puede personalizarlo de la siguiente manera:
En la Success Screen, inserte un control de Temporizador.
Establezca la propiedad AutoStart en
true
.Establezca la propiedad Duration en
4000
(cuatro segundos).Establezca la propiedad OnTimerEnd en
Navigate('<yourScreenName>')
.Ponga la propiedad Visible en
false
.
Con esta configuración, el temporizador comienza automáticamente cuando la pantalla se carga y lleva al usuario a otra pantalla después de cuatro segundos.
Navegación de OnChange
Otra buena técnica de navegación es agregar un menú a la aplicación mediante un control Desplegable. Puede configurar este menú desplegable en una pantalla y, luego, copiarlo en otras pantallas de su aplicación para mantener la uniformidad.
El control Desplegable usa una tabla como origen de datos. En la propiedad Items, puede introducir una lista de nombres de pantalla de su aplicación, como se muestra a continuación:
["","Home Screen", "Catalog Screen", "Success Screen"]
Esta sintaxis representa una tabla de una columna con los valores mostrados. Es equivalente a lo siguiente:
Table({Value: ""},{Value: "Home Screen"},{Value: "Catalog Screen"}, {Value: "Success Screen"})
La sintaxis de corchetes es un método simplificado para introducir datos de tabla.
El primer valor ("") es una cadena vacía. Puede establecer esto como la propiedad predeterminada del control para que no haya ninguna opción preseleccionada.
Con la propiedad Items configurada, actualice la propiedad OnChange del control a fin de gestionar la navegación.
Sugerencia
Actualice la propiedad OnChange, no OnSelect. La propiedad OnSelect se desencadena al hacer clic en un control, mientras que OnChange se usa cuando cambia el valor seleccionado.
El método recomendado es usar una función Switch junto con la referencia Self para evaluar el valor seleccionado y llevar a cabo la navegación. También puede usar una instrucción If. Ambas son estructuras de lógica condicional.
Por ejemplo, en la aplicación Contoso Coffee Machines, puede usar la siguiente fórmula para la propiedad OnChange de un control Desplegable:
Switch(Self.SelectedText.Value,
"Catalog",Navigate('Catalog Screen',ScreenTransition.Cover),
"Admin",Navigate('Admin Screen',ScreenTransition.Cover)
);
Reset(Self)
Esta fórmula evalúa Self.SelectedText.Value, el elemento seleccionado en el control desplegable. Si el valor es "Catalog", la aplicación va a Catalog Screen. Si el valor es "Admin", se dirige a Admin Screen.
La función Switch es ideal cuando hay múltiples resultados posibles basados en una sola entrada.
La última línea, Reset(Self)
, restablece el menú desplegable a su valor predeterminado (""), lo que elimina la selección.
Si aún no comprende del todo este método, no se preocupe. Repasaremos este proceso en el ejercicio de la siguiente unidad.