web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Why we can not use Nav...
Power Apps
Unanswered

Why we can not use Navigate() in OnVisible

(5) ShareShare
ReportReport
Posted on by

In my app I have a screen which acts as a loading screen and verifies that information is retrieved correctly from the server. 

 

For example here is a very simplified version of the OnVisible:

 

UpdateContext({LoadingText:"Searching for your name..."});
Set(
 _UserProfile,
 Office365Users.MyProfile()
);
If(
 !IsBlank(_UserProfile),
 Navigate(MainMenu_Screen,None),
 UpdateContext({LoadingText:"Failed to load your profile. Please restart the App"})
)

Having this function I get red line under Navigate which reads like this:

 

 

Navigate cannot be used here since it would always navigate away from this screen.

1.png

 

This error makes no sence since it would always navigate only if the IF condition is true. Can this limitation be removed please?

 

Work around

There is a simple workaround with using a button or any other control with OnSelect property and calling the Select(YourButton) to execute the Navigate() function.

 

For example, add a button and change its OnSelect to:

Navigate(MainMenu_Screen,None)

Now in the OnVisible property change your code to this:

UpdateContext({LoadingText:"Searching for your name..."});
Set(
 _UserProfile,
 Office365Users.MyProfile()
);
If(
 !IsBlank(_UserProfile),
 Select(Button1),
 UpdateContext({LoadingText:"Failed to load your profile. Please restart the App"})
)

Now it works as intended but you had to create some extra controls.

 

Categories:
I have the same question (0)
  • Meneghino Profile Picture
    6,949 on at

    Why not use the OnStart property to navigate?

  • Community Power Platform Member Profile Picture
    on at

    The problem with OnStart is that it will load everything in the background making the user wait quite a while staring at a blank screen. With this I can show users changing text messages so that he knows that something is happening in the background and will not be as annoyed with wait times as he would otherwise. 

  • Meneghino Profile Picture
    6,949 on at

    Ok, understood.  Then I guess the only way is to use a timer to check every 3 seconds or so and navigate if found and after 10 tries navigate to restart message.

  • Jimmy Profile Picture
    Microsoft Employee on at

    I agree that this seems to be a valid use of OnVisible, and shouldn't be blocked. I'll bring this up with the team to revisit and possibly remove this error message.

  • Jimmy Profile Picture
    Microsoft Employee on at

    Looking more into this, it looks like the original intention was to prevent making an app that gets into an irreparable state. If you had Screen1.OnVisible = Navigate(Screen2), then it would be impossible to edit the rule. As soon as the author clicks on Screen1, they would immediately be redirected to Screen2, and so be unable to repair the bad OnVisible rule.

     

    I still agree that the error is overzealous, but I hope this gives you an idea why it exists. In the future, we should have a better division between authoring and published app functionalities, and at that point it would be possible to relax this. Until then, the WYSIWYG architechture makes Navigates on OnVisible a dangerous functionality for authors.

     

    I'm still bringing the issue up with the team to continue tracking this use case. Thanks for bringing it to my attention!

  • TimRohr Profile Picture
    669 on at

    I just ran into this error today. Has there been any movement on this request?

     

    Here's another use case:

    A "clearing house" screen that can bridge customized page navigation and the lack of "stored procedures".

     

    Every page that required certain validation (or, say, if you wanted to change/randomize the next screen based on some user input -- directing 'YES' answers to one screen, 'NO' to another, though with much more complexity), would have their navigation button pointing to the ClearingHouse screen.

     

    The ClearingHouse screen would then be a central repository of validation, forwarding the navigation on based on the current validation conditions/rules.

     

    Without that, if new validation rules begin to layer on the others, many screen's navigate() functions would have to be updated.

     

    I don't want the ClearingHouse to be seen... I just want the user to pass through to the next screen they need.

  • Asimansari Profile Picture
    54 on at
    Hi everyone,
    Wanna tell something I encountered to everyone.
    I set the onvisible property to select a control which loads data then navigates. Now I am unable to edit the screen in powerapps web. Because as soon as i select the screen to edit, it navigates. This is a serious bug, the screen shouldn't autonavigate while editing.
    Now i have to restore the last version to work at all.
  • rebeccas Profile Picture
    2,591 on at

    I do all of mine with a basic Home Screen that has a simple text field that pulls in the current user so it loads fast. If that text field is blank they can't move forward. 

     

    I know this is not what you are asking but this works good for me and loads fast. My Home Screen is real basic that loads at first to get them started.

     

    Capture.JPG

  • HadynM Profile Picture
    279 on at

    Hi @Asimansari

    I have run into this before and the simple solution is to delete the control with the navigate function.  This will take you to the screen, then you can ctrl+z (Undo) to put it back.  Now you are on the screen in edit mode and can make changes.

    To work around this in apps that have a loading screen I usually put a checkbox on a 'settings' screen, that if checked won't do the navigation.

    Hope that helps

    Hadyn

  • Asimansari Profile Picture
    54 on at

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 739 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 343 Super User 2025 Season 2

#3
Power Platform 1919 Profile Picture

Power Platform 1919 268

Last 30 days Overall leaderboard