Segmented 分段控制器
用于展示多个选项并允许用户选择其中单个选项。
基础用法
设置v-model为选项值。
配置方向
设置 vertical 来改变方向。
自定义样式
使用 CSS 变量设置自定义样式。
自定义内容
设置 default slot 位来渲染自定义内容。
无障碍标记 aria-label
根节点 [role="radiogroup"] 的 aria-label 取值:控件自身 > 外层 form-item 的 aria-label > 默认「segmented」。form-item 用 aria-label 标记时不输出 aria-labelledby,用可见 label 文本时保留指向。aria-required:用户直写值(含 "false")优先,未写时回退 form-item 必填状态。
API
属性
| 名称 | 说明 | 类型 | 默认值 | | --------------------- | --------------------------------------------------------------------------------- | -------------------------------------------------------- | ----------- | ---------- | | model-value / v-model | 绑定值 | string / number / boolean | — | | options | 选项的数据 | array | [] | | size | 组件大小 | enum | '' | | block | 撑满父元素宽度 | boolean | — | | disabled | 是否禁用 | boolean | false | | validate-event | 是否触发表单验证 | boolean | true | | name | 原生 name 属性 | string | — | | id | 原生 id 属性 | string | — | | aria-label a11y | 原生 aria-label 属性 | string | — | | aria-required a11y | 等价于原生 aria-required;用户值(含 "false")优先,未写时回退 form-item 必填 | string | — | | direction | 展示的方向 | enum | 'vertical'` | horizontal |
事件
| 名称 | 说明 | 类型 |
|---|---|---|
| change | 当所选值更改时触发,参数是当前选中的值 | Function |
Slots
| 名称 | 说明 | 类型 |
|---|---|---|
| default | 自定义 Option 模板 | object |
类型声明
Show declarations
type Option =
| {
label: string
value: string | number | boolean
disabled?: boolean
[key: string]: any
}
| string
| number
| booleanCopyright 2025 Winning Health 版权所有

