Docs

Documentation versions (currently viewingVaadin 24)
Documentation translations (currently viewingChinese)

此页面是对官方文档(http://vaadin.com/docs)的机器翻译版本。它可能存在错误、不准确或表述不当。Vaadin 不保证翻译的准确性、可靠性或时效性。

标签页

标签页用于将内容组织和分组到用户可导航的部分中。

标签页用于将内容组织和分组到用户可导航的部分中。

下面是一个带标签的简单示例:

Open in a
new tab
Source code
TabsBasic.java
tabs-basic.tsx
tabs-basic.ts

当您想在 UI 的某一特定区域内进行本地导航时,请使用标签页。也就是说,无需加载另一页面,也无需一次性显示所有内容或迫使用户切换到不同视图。

Tab Sheet

标签页最便捷的用途是作为 Tab Sheet 的组成部分,Tab Sheet 为每个标签页自动切换内容区。尝试点击下面示例中的标签页,注意每个标签页会显示不同的文本。

Open in a
new tab
Source code
TabSheetBasic.java
tabsheet-basic.tsx
tabsheet-basic.ts

状态

标签页可以是选中的、未选中的或已禁用的。

Open in a
new tab
Source code
TabsStates.java
tabs-states.tsx
tabs-states.ts

您可以将标签页设置为禁用状态,表示该标签页暂不可用。禁用的标签页无法获得焦点,可能会对屏幕阅读器等辅助技术隐藏。

相较于直接隐藏某个元素,有时候禁用该元素更佳,能够避免其隐藏和显示时导致的布局变化,还能告知用户存在但当前不可用的状况。

自动选择 (Flow)

添加到 Tabs 或 Tab Sheet 的第一个标签页会自动被选中。同理,移除一个选中的标签页后,下一个可用的标签页会自动被选中。

自动选择默认启用,但您也可以按需禁用此行为。注意下面示例中起初没有选中任何标签页。

Open in a
new tab
Source code
TabsAutoselect.java

当同时使用自动选择和标签页选择变更监听器时,如果希望监听器对自动选择的标签页起作用,应先添加监听器后再添加标签页。

排列方向与溢出处理

标签页支持两种方向:默认的水平排列,以及垂直排列(当前不支持 Tab Sheet)。根据具体用例和可用空间决定选择哪一种排列方式。

水平排列

水平排列可能更易于用户理解,并将其与内容进行关联。此方式适合少量标签页,超过容器宽度后还可滚动。尝试在下面示例中横向滚动标签页,您会看到有超出初始可见范围的更多标签页存在。

Open in a
new tab
Source code
TabsHorizontal.java
tabs-horizontal.tsx
tabs-horizontal.ts

在使用水平布局时,默认会显示滚动按钮辅助滑动标签页。可以通过添加 hide-scroll-buttons 主题变量隐藏滚动按钮。请注意下例中没有显示滚动条或滚动按钮,但仍可滚动以显现已溢出部分的标签页。

Note

若 UI 是针对非触摸屏设备设计的,不建议隐藏滚动按钮,因为在没有滚动按钮时横向滚动可能比较困难。

垂直排列

当标签页较多时,垂直排列可能更佳。用户更容易扫描纵向列出的选项。但垂直标签页与内容之间有时可能没有那么直观的关联。

垂直排布标签页在溢出时同样提供滚动能力,但不提供滚动按钮。此外,垂直方向目前不可用于 Tab Sheet。

Open in a
new tab
Source code
TabsVertical.java
tabs-vertical.tsx
tabs-vertical.ts

图标及其他标签页内容

除了文本,标签页还可包含图标或其他内容。

图标

图标可使标签页更加突出,更易被识别。通常,水平标签页更适合图标放在文字上方,如下面示例所示。