Skip to content

Segmented 分段控制器

在两个或多个互斥选项之间切换,比 Radio 更紧凑。

何时使用

  • 视图切换(日 / 周 / 月)。
  • 在多种相同类型的视图 / 数据集间切换。

基本使用

options 是字符串 / 数字数组,v-model 绑定当前选中值。

用对象选项

options 元素也可以是 { label, value, disabled, icon }

不同尺寸

sizesmall / middle(默认)/ large

块级宽度

block 让组件横向占满父容器。

禁用整组

disabled 让所有选项不可点。

监听变化

change 事件返回新值,可联动其他组件。

数字 value

options 元素是数字时,v-model 也按数字类型回传,适合评分 / 年龄段 / 分页大小等枚举数值。

带 icon 选项

icon 接 CSS class(与 Button 的 icon prop 同源),渲染在 label 文字前。

自定义渲染(default slot)

默认插槽接收 { option } scope,可以完全接管单项的渲染——头像 + 文字 + 副标题等组合,适合用户切换 / 团队切换场景。

单项禁用

把禁用粒度下沉到 option:仅特定值不可点,其余可点。注意与整组 disabled 互不冲突。

视图切换业务

最典型用法:切换视图模式联动主区域渲染逻辑。这里用文本占位代表实际的列表 / 看板 / 图表组件。

API

Props

参数类型默认值说明
modelValuestring | number''选中值,支持 v-model
options(SegmentedOption | string | number)[][]选项列表
blockbooleanfalse撑满父容器
disabledbooleanfalse整组禁用
size'small' | 'middle' | 'large''middle'尺寸

SegmentedOption

字段类型说明
labelstring显示文字
valuestring | number必填,选中值
disabledboolean单项禁用
iconstring自定义 icon class

Events

事件名回调签名说明
change(value: string | number)切换时触发

Released under the MIT License.