Vaadin 14:尝试从对话框在后台打开页面,同时保持对话框打开

Pra*_*mar 2 vaadin vaadin-flow

我有一个对话框是:

  1. 可拖动
  2. 莫代尔

要求:

我有一个要求,我不需要关闭对话,并且必须在后台加载不同的页面,以从对话上的网格中选择数据。

我做了什么: 我知道如何在分离监听器的帮助下在后台打开页面。

vehicleInfoPopUpView.addDetachListener(e -> {

        UI.getCurrent().navigate(AssignmentPageContainer.class,
            String.valueOf(vehicleInfoPopUpView.getCanFileNumber()));
    });
Run Code Online (Sandbox Code Playgroud)

上面的代码(在父页面中)加载/打开一个新页面,但要做到这一点,我必须关闭我的对话框(我不必这样做,我必须保持对话框打开)。

我找不到任何资源告诉我如何在不关闭对话框的情况下在后台加载/打开新页面

任何小帮助!我在这里先向您的帮助表示感谢。

Haw*_*awk 10

首先:不要。

在导航到不同的页面/路由时保持模式对话框打开没有任何用户体验意义。模窗口意味着您无法与背景交互。

只需直接调用UI.getCurrent().navigate(AssignmentPageContainer.class)(在分离侦听器之外)即可根据选择打开视图。如果用户愿意,他可以自己再次打开该对话框。您可以通过单击某个按钮来触发此操作。


其次,作为解决方法,您可以将对话框的状态存储在服务中@UIScoped,并在方法中打开并重新初始化对话框 fe afterNavigation