Mais maneiras de usar a função Navigate
Há muitas maneiras de configurar a navegação no aplicativo, além de usar a propriedade OnSelect de um botão ou controle de ícone. Esta unidade apresenta três técnicas comuns: a propriedade OnSuccess de um controle de Formulário, a propriedade OnTimerEnd de um controle de Timer e a propriedade OnChange de um controle de Lista Suspensa.
Navegação de OnSuccess
Para melhorar a experiência do usuário, é útil fornecer comentários após o envio bem-sucedido de dados. O Power Apps oferece ferramentas para isso. Por exemplo, inserindo uma tela Success em seu aplicativo, você poderá configurar a navegação para exibi-la somente quando os dados forem salvos com êxito.
Primeiro, insira uma tela Success usando o menu suspenso Nova tela e renomeie-a para Success Screen
.
Em seguida, selecione seu formulário e localize sua propriedade OnSuccess. Para garantir que os usuários naveguem até Success Screen somente quando os dados forem salvos com êxito, use a seguinte fórmula:
Navigate(‘Success Screen’, ScreenTransition.Fade)
Essa função Navigate é disparada somente após o envio bem-sucedido do formulário.
Em seguida, configure uma maneira de os usuários retornarem para uma tela anterior. Em vez de exigir interação manual, você pode usar um controle de Timer.
Navegação de OnTimerEnd
Um controle de Timer pode automatizar transições, como retornar a um catálogo ou a uma tela inicial depois de exibir brevemente uma mensagem de êxito.
Por padrão, o controle de Timer:
É visível quando adicionado à tela.
Tem uma Duração de 60.000 milissegundos (60 segundos).
Tem AutoStart definido como false.
Você pode personalizá-lo da seguinte maneira:
Insira um controle de Timer na Success Screen.
Defina a propriedade AutoStart como
true
.Defina a propriedade Duration como
4000
(quatro segundos).Defina a propriedade OnTimerEnd como
Navigate('<yourScreenName>')
.Defina a propriedade Visible como
false
.
Com essas configurações, o timer começa automaticamente quando a tela é carregada e leva o usuário para outra tela após 4 segundos.
Navegação de OnChange
Outra técnica de navegação efetiva é adicionar um menu ao seu aplicativo usando um controle de Lista Suspensa. Você pode configurar essa lista suspensa em uma tela e, em seguida, copiá-la para outras telas em seu aplicativo para obter consistência.
Um controle de Lista Suspensa usa uma Tabela como sua fonte de dados. Na propriedade Items, você pode inserir uma lista de nomes de tela do seu aplicativo desta forma:
["","Home Screen", "Catalog Screen", "Success Screen"]
Esta sintaxe representa uma tabela de uma coluna com os valores mostrados. É equivalente a:
Table({Value: ""},{Value: "Home Screen"},{Value: "Catalog Screen"}, {Value: "Success Screen"})
A sintaxe de colchetes é um método simplificado de inserção de dados da tabela.
O primeiro valor, "", é uma cadeia de caracteres vazia. Esse valor pode ser definido como a propriedade Default do controle. Portanto, nenhuma opção é pré-selecionada.
Com a propriedade Items configurada, atualize a propriedade OnChange do controle para manipular a navegação.
Dica
Certifique-se de atualizar a propriedade OnChange, não OnSelect. A propriedade OnSelect é disparada quando um controle é clicado, enquanto OnChange é usada quando o valor selecionado é alterado.
O método recomendado é usar uma função Switch com a referência Self para avaliar o valor selecionado e executar a navegação. Como alternativa, você pode usar uma instrução If. Ambas são estruturas lógicas condicionais.
Por exemplo, no aplicativo Contoso Coffee Machines, você pode usar a seguinte fórmula para a propriedade OnChange de um controle de Lista Suspensa:
Switch(Self.SelectedText.Value,
"Catalog",Navigate('Catalog Screen',ScreenTransition.Cover),
"Admin",Navigate('Admin Screen',ScreenTransition.Cover)
);
Reset(Self)
Essa fórmula avalia Self.SelectedText.Value: o item selecionado na lista suspensa. Se o valor for "Catalog", o aplicativo navegará para Catalog Screen. Se o valor for "Admin", ele navegará até Admin Screen.
A função Switch é ideal quando há vários resultados possíveis com base em uma única entrada.
A linha final, Reset(Self)
, redefine a lista suspensa para seu valor padrão (""), o que remove a seleção.
Se você ainda não está totalmente confortável com isso, não se preocupe. Você revisitará esse processo no próximo exercício da unidade.