Segmented 分段控制器 ​

用于展示多个选项并允许用户选择其中单个选项。

基础用法 ​

设置v-model为选项值。

基础用法:通过 size 设置尺寸
禁用状态
Block 分段选择器:设置block为true以适应父元素的宽度

配置方向 ​

设置 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
ts
type Option =
  | {
      label: string
      value: string | number | boolean
      disabled?: boolean
      [key: string]: any
    }
  | string
  | number
  | boolean

Copyright 2025 Winning Health 版权所有