单选按钮
- 用法
- 样式设置
单选按钮组允许用户在多个选项中选择一个值。
new tab
Source code
RadioButtonBasic.java
radio-button-basic.tsx
radio-button-basic.ts
状态
只读
当内容需要可访问但不允许编辑时,请使用只读属性。只读元素不可编辑,但仍然是标签顺序的一部分,因此可以获得焦点。只读输入栏中的内容可选中并复制。
new tab
Source code
RadioButtonReadonly.java
radio-button-readonly.tsx
radio-button-readonly.ts
禁用
禁用字段以将其标记为当前不可用。禁用状态用于不可编辑且无需查看的字段。禁用元素无法获得焦点,可能对屏幕阅读器等辅助技术不可用。
与隐藏元素相比,禁用元素在改变元素可见性时不会引起布局变化,并且能让用户了解其存在即使当前不可用,因此可能更合适。
new tab
Source code
RadioButtonDisabled.java
radio-button-disabled.tsx
radio-button-disabled.ts
排列方向
组件的默认排列是水平的。然而,建议尽可能使用垂直排列,因为用户通常更容易扫描垂直排列的选项列表:
new tab
Source code
RadioButtonVertical.java
radio-button-vertical.tsx
radio-button-vertical.ts
在需要节省垂直空间的情况下,可以使用水平排列方向。但建议选项不超过三个:
new tab
Source code
RadioButtonHorizontal.java
radio-button-horizontal.tsx
radio-button-horizontal.ts
需要更多选项时,可使用Select组件。
自定义选项展示
单选项可以定制显示多于一行的文本:
new tab
Source code
RadioButtonPresentation.java
Card.java
Card.java
DataService.java
DataService.java
radio-button-presentation.tsx
radio-button-presentation.ts
基本特性
以下是大多数输入字段组件都支持的基本特性:
标签
辅助信息
辅助信息用于在字段下方为用户提供可能需要输入的信息,例如格式要求或字段用途说明。
可以使用样式变体将辅助信息显示在字段上方。
除了纯文本之外,辅助信息还可以包含组件和HTML元素。但若内容较为复杂或具有交互性,可能会存在可访问性问题。
工具提示
外部及不可见标签(ARIA)
强烈建议所有输入字段使用可视化标签。当无法使用内置标签时,可以通过元素的 id 属性将外部元素关联为字段标签。没有任何可见标签的字段,建议为辅助技术(如屏幕阅读器)提供不可见标签。
Source code
HTML
<!-- 将外部元素关联为标签: -->
<label id="external-label">This is the label</label>
<vaadin-radio-button-group accessible-name-ref="external-label">...
<!-- 为屏幕阅读器提供不可见的标签: -->
<vaadin-radio-button-group accessible-name="This is the label">...Java
// 将外部元素关联为标签:
NativeLabel label = new NativeLabel("This is the label");
label.setId("external-label");
field.setAriaLabelledBy("external-label");
// 为屏幕阅读器提供不可见的标签:
field.setAriaLabel("This is the label");new tab
Source code
RadioButtonGroupBasicFeatures.java
radio-button-group-basic-features.tsx
radio-button-group-basic-features.ts
样式变体
可应用以下样式变体:
辅助信息显示于字段上方
辅助信息可显示在字段上方、标签下方。
边框
可通过为 --vaadin-input-field-border-width CSS 属性赋值(如 1px),为字段表面添加边框。可通过 html 选择器为所有输入字段全局应用边框,也可以仅应用于特定组件实例。要获得符合 WCAG 2.1 AA 级 色彩对比标准的默认 Lumo 字段样式,边框是必需的。
可通过 --vaadin-input-field-border-color 属性重写默认边框颜色。
new tab
Source code
RadioButtonGroupStyles.java
radio-button-group-styles.tsx
radio-button-group-styles.ts
E1E617CE-F935-451D-885F-CEF94EC0E53A