Skip to content

FxSegmented 分段控制器

展示多个选项并允许用户选择其一。不依赖任何 UI 框架,选中项带滑动高亮指示,颜色走 @fx/styles--color-* token,亮暗自动跟随。

基础用法

v-model 绑定当前选中项的值,options 为选项数组(基础类型或对象)。

尺寸

通过 size 属性设置 large / default / small 三种尺寸。

排列方向

通过 direction 设置 horizontal(水平,默认)或 vertical(垂直)。

禁用

将分段控制器整体 disabled,或单独设置某个选项的 disabledtrue

自定义别名

options 的字段名与默认(value / label / disabled)不同时,可通过 props 属性配置别名。

撑满父容器

设置 blocktrue 时,分段控制器宽度撑满父元素,各项均分宽度。

自定义内容

通过默认插槽自定义选项渲染,插槽作用域提供当前选项对象 item

自定义样式

通过覆盖组件暴露的 CSS 变量自定义样式(如选中项颜色、圆角等)。

API

Attributes

属性说明类型默认值
model-value (v-model)绑定值string / number / boolean
options选项数据Option[][]
props别名配置,见下表object见下表
size尺寸'large' | 'default' | 'small'
block是否撑满父容器宽度booleanfalse
disabled是否禁用booleanfalse
validate-event是否在值变化时触发表单项校验booleantrue
name原生 name(radio 分组名,未传则自动生成)string
id原生 idstring
aria-label原生 aria-labelstring
direction排列方向'horizontal' | 'vertical'horizontal

自定义别名

props 属性的配置项,用于指定对象选项中取值 / 标签 / 禁用标记对应的字段名。

属性说明类型默认值
value用作选项值的字段名stringvalue
label用作选项标签的字段名stringlabel
disabled用作禁用标记的字段名stringdisabled

Events

事件名说明类型
update:model-value值更新时触发(value: string | number | boolean) => void
change选中值变化时触发,参数为当前值(value: string | number | boolean) => void

Slots

插槽名说明类型
default自定义选项内容{ item: Option }

类型声明

展开查看
ts
type Option = Record<string, any> | string | number | boolean