samedi 25 janvier 2020

Vaadin: How to navigate without reloading the page?

I have to navigate between my components and I use a custom button like this:

button.addClickListener(click -> {
        UI.getCurrent().navigate(ClassToNavigate.class);
    });

The url does refresh in the search bar but it only shows a black page, I've to hit F5 to see the component in my parent layout.

My only fix is to add:

UI.getCurrent().getPage().reload();

...which reloads the page after navigating to the URL, and that breaks the UX in my opinion, however... when using a BeforeEnterEvent on a class and using the method:

forwardTo(ClassToNavigate.class);

redirects perfectly... although I can't have BeforeEnterEvent for every menu button I have, I can't see why forwardTo() works perfectly and navigate() doesn't.

Is there a way to navigate without having to reload the page? And without using RouterLink which I can't because I'm already using a custom component.

Thanks in advance!




Aucun commentaire:

Enregistrer un commentaire