Skip to content

FxInputTag 标签输入框

允许用户将输入内容作为标签添加。不依赖任何 UI 框架,标签样式与 FxSelect 的折叠标签一致(中性灰),颜色走 @fx/styles--color-* token,亮暗自动跟随。

基础用法

按回车键将输入内容添加为标签。

自定义触发键

通过 trigger 属性自定义添加标签的按键,默认为 Enter

最大数量

通过 max 属性限制可添加的标签数量。

折叠标签

通过 collapse-tags 将多余的标签折叠为一段文本;配合 collapse-tags-tooltip 在鼠标悬停折叠文本时展示全部标签;max-collapse-tags 控制折叠前最多显示的标签数。

禁用

通过 disabled 属性禁用标签输入框。

可清空

通过 clearable 属性显示清除按钮。

自定义清除图标

通过 clear-icon 属性自定义清除图标(字符串为 FxIcon 图标名,也可传组件)。

拖拽排序

通过 draggable 属性开启标签拖拽排序。

分隔符

通过 delimiter 属性设置分隔符,输入匹配到分隔符时自动切分为多个标签(粘贴时同样生效)。

尺寸

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

自定义标签

通过 tag-type / tag-effect 切换标签的语义色与主题(默认 info 为中性灰,与 FxSelect 折叠标签一致),也可用 tag 插槽自定义标签内容。

前缀与后缀

通过 prefix / suffix 插槽自定义标签输入框的前置 / 后置内容。

API

Attributes

属性说明类型默认值
model-value (v-model)绑定值string[]
max可输入标签的最大数量number
tag-type标签类型(info 为默认中性灰,与 FxSelect 折叠标签一致,其余为语义色)'primary' | 'success' | 'info' | 'warning' | 'danger'info
tag-effect标签主题'light' | 'dark' | 'plain'light
effect折叠提示气泡主题(collapse-tags-tooltip 生效时使用)'dark' | 'light'light
trigger触发添加标签的按键'Enter' | 'Space'Enter
draggable标签是否可拖拽排序booleanfalse
delimiter匹配到分隔符时自动添加标签string / RegExp
size输入框尺寸'large' | 'default' | 'small'
collapse-tags是否将多余标签折叠为一段文本booleanfalse
collapse-tags-tooltip鼠标悬停折叠文本时是否展示全部标签(需 collapse-tags 为 true)booleanfalse
max-collapse-tags折叠前最多显示的标签数(需 collapse-tags 为 true)number1
save-on-blur失焦时是否保存当前输入为标签booleantrue
clearable是否显示清除按钮booleanfalse
clear-icon自定义清除图标(字符串为 FxIcon 图标名,也可传组件)string / Componentep:circle-close
disabled是否禁用booleanfalse
validate-event值变化 / 失焦时是否触发表单项校验booleantrue
readonly原生 readonlybooleanfalse
autofocus原生 autofocusbooleanfalse
id原生 idstring
tabindex原生 tabindexstring / number0
maxlength原生 maxlengthstring / number
minlength原生 minlengthstring / number
placeholder占位文本string
autocomplete原生 autocompletestringoff
aria-label原生 aria-labelstring

Events

事件名说明类型
change绑定值变化时触发(value: string[] | undefined) => void
input输入值变化时触发(value: string) => void
add-tag添加标签时触发(value: string | string[]) => void
remove-tag移除标签时触发(value: string, index: number) => void
drag-tag拖拽排序标签时触发(oldIndex: number, newIndex: number, value: string) => void
focus聚焦时触发(event: FocusEvent) => void
blur失焦时触发(event: FocusEvent) => void
clear点击清除按钮时触发() => void

Slots

插槽名说明类型
tag自定义标签内容{ value: string, index: number }
prefix输入框前置内容
suffix输入框后置内容

Exposes

名称说明类型
focus聚焦输入框() => void
blur失焦输入框() => void

类型声明

展开查看
ts
type InputTagTrigger = "Enter" | "Space"
type InputTagEffect = "dark" | "light"