0

我使用最新的 Vaadin Start 页面生成了一个应用程序框架(Vaadin 21 / Java 11)到目前为止它工作正常,我使用具有各种视图的混合模式。

单击菜单中的视图链接时,仅基于 TS+HTML 的视图将在 GUI 中注册为已选择并获得彩色的“选定/活动”样式。

当我生成一个只有 Flow 视图的应用程序时,第一个视图将被选中的样式卡住,但其他视图在单击时会正确注册。

只有当我生成一个只有 Fusion 视图的应用程序时,所有视图选择才会正确注册。

我想这是一个错误?

编辑:混合模式下的行为视频。菜单项名称对应于正在选择的视图类型。如您所见,只有融合视图在菜单中显示“选择”:

行为视频

Edit2:我认为问题是在这里引起的:

?highlight=${viewRoute.path == appStore.location

似乎 appStore.location 不是从非 Fusion 视图中设置的。我在 index.ts eventListener 中放置了一个 console.log,非 Fusion 视图都只是将“(.*)”作为视图名称/位置传递,这就是失败的原因。

因此,java-class 中的 @Route(value = "view-name") 声明目前似乎没有正确传递。

BR丹尼尔

4

2 回答 2

2

这似乎是 Start 项目模板中的一个错误。我在我们的内部问题跟踪器中添加了一个问题。

非常感谢您的报告。

编辑:问题已经解决。

于 2021-10-21T14:11:58.047 回答
0

这个问题对我来说不是很清楚,但如果问题是“第一个视图将被选定的样式卡住”,您是否尝试将 setAutoselect(false) 添加到 MainLayout 的选项卡式菜单中?

这里是:

private Tabs createMenu() {
    final Tabs tabs = new Tabs();
    tabs.setOrientation(Tabs.Orientation.VERTICAL);
    tabs.addThemeVariants(TabsVariant.LUMO_MINIMAL);
    tabs.setId("tabs");
    tabs.setAutoselect(false); //Needed not to select first tab by default
    tabs.add(createMenuItems());
    return tabs;
}
于 2021-10-09T10:05:41.397 回答