gpt4 book ai didi

java - Vaadin:使用选项卡组件在 View 之间进行正确的导航

转载 作者:行者123 更新时间:2023-12-02 06:11:35 27 4
gpt4 key购买 nike

我使用 Vaadin 创建了一个导航菜单栏,我想知道如何将 View 或链接附加到每个选项卡,以便单击它可以将我重定向到相应的 View 。我已经设法找到解决方法,但我认为这种方法是有缺陷的:

Tabs tabs = new Tabs(new Tab("Login"), new Tab("Register"));
tabs.setOrientation(Tabs.Orientation.VERTICAL);
tabs.addSelectedChangeListener(event -> {
if (event.getSelectedTab().getLabel().equalsIgnoreCase("Login")) {
UI.getCurrent().navigate(LoginView.class);
} else if (event.getSelectedTab().getLabel().equalsIgnoreCase("Register")) {
UI.getCurrent().navigate(RegisterView.class);
}
});

我在 Tab 组件上没有找到单独的 clickListener 事件,这对我来说很奇怪。还注意到我可以使用 tabName.getUI() 方法将 UI 附加到选项卡,但是我找不到附加它的方法。

帮助我找到使用选项卡进行导航的正确方法!提前致谢!

最佳答案

在 Vaadin 14 中,您可以向选项卡添加组件。因此,您可以执行如下操作,而不是仅仅执行 new Tab("Login") 操作:

private Tab createMenuItem(String title, VaadinIcon icon, Class<? extends Component> target) {
RouterLink link = new RouterLink(null,target);
if (icon != null) link.add(icon.create());
link.add(title);
Tab tab = new Tab();
tab.add(link);
return tab;
}

当然RouterLink不是唯一的选择,如果你愿意,你也可以使用Button,使用按钮的点击监听器来调用导航等。这里有很多选择。

关于java - Vaadin:使用选项卡组件在 View 之间进行正确的导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59436951/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com