vaadin-基本布局-选择选项卡后更改内容

vaadin-基本布局-选择选项卡后更改内容,vaadin,Vaadin,我正在看Vaadin的基本应用程序布局示例 我正在努力理解撰写内容的最佳方式。我注意到,如果我使用左侧导航从“主页”切换到“关于”,页面的内容不会改变 当我查看源代码时,内容似乎是静态的-没有说明如何根据导航栏中选定的选项卡更改内容 有人能举例说明这在实践中应该如何实现吗?以下是一些方法: 选项卡更改侦听器 您可以添加一个通过选项卡选择选项卡的侦听器。addSelectedChangeListener,然后基于此更改内容 通常,您会创建一个映射,map,它定义了要为每个选项卡显示的内容。启动侦

我正在看Vaadin的基本应用程序布局示例

我正在努力理解撰写内容的最佳方式。我注意到,如果我使用左侧导航从“主页”切换到“关于”,页面的内容不会改变

当我查看源代码时,内容似乎是静态的-没有说明如何根据导航栏中选定的
选项卡更改内容


有人能举例说明这在实践中应该如何实现吗?

以下是一些方法:

选项卡更改侦听器 您可以添加一个通过
选项卡选择选项卡的侦听器。addSelectedChangeListener
,然后基于此更改内容

通常,您会创建一个映射,
map
,它定义了要为每个选项卡显示的内容。启动侦听器后,从映射中检索该选项卡的组件,并将其添加到布局的某个部分,首先删除以前的组件

带有路由/链接的选项卡 您可以在选项卡内放置链接。这可以是
RouterLink
,它允许在不重新加载页面的情况下导航,也可以是
锚定

将这些视图放在主布局中,每个选项卡都保存到其中一个视图的路径。例如,假设我们有一个
MyView
类:

@Route(layout = MainLayout.class)
public class MyView extends VerticalLayout {
    ...
}
以及一个包含导航的
main布局

public class MainLayout extends HorizontalLayout implements RouterLayout {
    public MainLayout() {
        Tab tab1 = new Tab(new RouterLink("Go to MyView", MyView.class));
        myTabs.add(tab1);
    }
}

路线/连接 如果不想使用选项卡,只需使用
RouterLink
Anchor
。使用
RouterLink
可以传递单击时要导航到的视图的类

RouterLink
还具有
setHighlightCondition
选项,用于设置在何种条件下应高亮显示链接。例如,
setHighlightCondition(HighlightConditions.sameLocation())
会在用户导航到与链接匹配的位置时使链接高亮显示


使用
setHighlightAction
选择链接高亮显示的方式。默认情况下,它将向链接添加一个突出显示属性,该属性可用于设置链接样式。

以下是一些方法:

选项卡更改侦听器 您可以添加一个通过
选项卡选择选项卡的侦听器。addSelectedChangeListener
,然后基于此更改内容

通常,您会创建一个映射,
map
,它定义了要为每个选项卡显示的内容。启动侦听器后,从映射中检索该选项卡的组件,并将其添加到布局的某个部分,首先删除以前的组件

带有路由/链接的选项卡 您可以在选项卡内放置链接。这可以是
RouterLink
,它允许在不重新加载页面的情况下导航,也可以是
锚定

将这些视图放在主布局中,每个选项卡都保存到其中一个视图的路径。例如,假设我们有一个
MyView
类:

@Route(layout = MainLayout.class)
public class MyView extends VerticalLayout {
    ...
}
以及一个包含导航的
main布局

public class MainLayout extends HorizontalLayout implements RouterLayout {
    public MainLayout() {
        Tab tab1 = new Tab(new RouterLink("Go to MyView", MyView.class));
        myTabs.add(tab1);
    }
}

路线/连接 如果不想使用选项卡,只需使用
RouterLink
Anchor
。使用
RouterLink
可以传递单击时要导航到的视图的类

RouterLink
还具有
setHighlightCondition
选项,用于设置在何种条件下应高亮显示链接。例如,
setHighlightCondition(HighlightConditions.sameLocation())
会在用户导航到与链接匹配的位置时使链接高亮显示

使用
setHighlightAction
选择链接高亮显示的方式。默认情况下,它将向链接添加一个
高亮显示
属性,该属性可用于设置链接的样式