组件仍在补充, 欢迎加群交流哦,微信: a2298613245
headless ui
✕
组件还在补充中,希望能够帮助你有一个亮点项目放入简历!
全局方案
按钮 Button
图标 Icon
布局 Grid
间距 Space
输入框 Input
弹窗 Modal
弹出框 Popover
消息 Toast
警告 Alert
单选框 Radio
复选框 Checkbox
标签 Tag
其它组件
基础用法
AI 时代的组件库
InputTag 完整案例
传统案例

标签输入框 InputTag
标签输入。

结合 Tailwind

Enter tags...
edit js

结合 CSS

Enter tags...
edit css
edit js

使用方法

1import { InputTag, IconCloseLine } from '@t-headless-ui/react'; 2 3<InputTag.Root> 4 <InputTag.Tag /> 5 <InputTag.Input /> 6 <InputTag.Clear> 7 <IconCloseLine /> 8 </InputTag.Clear> 9</InputTag.Root>

API

InputTag.Root Props
接口名: InputTagRootProps
继承: Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'>
参数名类型描述默认值
defaultValue(ObjectValueType | string)[]默认 tag 值-
value(ObjectValueType | string)[]tag 值-
inputValuestring输入框内的值-
disabledboolean是否禁用-
disableInputboolean是否禁用输入框-
readOnlyboolean是否只读-
onRemove(value: ObjectValueType, index: number, event: any) => void移除某一个标签时改变时触发-
onChange(value: any[], reason: ValueChangeReason) => void控件值改变时触发-
labelInValueboolean设置传入和回调出的值均为 `{ label: '', value: ''}` 格式。-
maxTagCountnumber | { count: number; render: (hiddenList: ObjectValueType[]) => ReactNode; }最大标签数, 支持自定义渲染-
refReact.Ref<InputTagHandle>自定义 ref, 返回 div 元素-
focusedboolean是否聚焦-
validate(inputValue: string, values: ObjectValueType[]) => boolean | Promise<boolean> | ObjectValueType | Promise<ObjectValueType>校验函数,默认在 按下enter时候触发。(inputValue, values) => inputValue && values.every((item) => item !== inputValue)
tokenSeparatorsstring[]触发自动分词的分隔符-
InputTag.Input Props
接口名: InputTagInputProps
参数名类型描述默认值
classNamestring自定义类名-
styleReact.CSSProperties自定义样式-
placeholderstring预设文案-
saveOnBlurboolean是否在失焦时自动存储正在输入的文本-
onBlur(e: React.FocusEvent<HTMLInputElement>) => void失去焦点时候触发-
onFocus(e: React.FocusEvent<HTMLInputElement>) => void聚焦时触发-
onPressEnter(e: React.KeyboardEvent<HTMLInputElement>) => void按 enter 键触发-
onInputChange(inputValue: string, event?: React.ChangeEvent<HTMLInputElement>) => void输入框文本改变的回调。-
onKeyDown(e: React.KeyboardEvent<HTMLInputElement>) => void键盘事件回调-
onPaste(e: React.ClipboardEvent<HTMLInputElement>) => void输入框文本粘贴的回调。-
refReact.Ref<RefInputType>返回 Input 元素的 blur, focus 方法, 以及 inputDom 方法获取 Input 元素-
InputTag.Tag Props
接口名: InputTagProps
参数名类型描述默认值
renderTag(props: { value: any; label: ReactNode; closable: boolean; onClose: (event: React.MouseEvent) => void; readOnly: boolean; disabled: boolean; }, index: number, values: ObjectValueType[]) => ReactNode自定义标签渲染,`props` 为当前标签属性和组件状态,`index` 为当前标签的顺序,`values` 为所有标签的值.-
InputTag.Clear Props
接口名: InputClearProps
继承: React.HTMLAttributes<HTMLDivElement>
参数名类型描述默认值
childrenReactNode自定义清除图标-
ObjectValueType
接口名: ObjectValueType
参数名类型描述默认值
valueany标签值-
labelReactNode标签显示文案-
disabledboolean是否可关闭-
ValueChangeReason
接口名: ValueChangeReason
类型
'add' | 'remove' | 'clear' | 'sort'
InputTag ref
接口名: InputTagHandle
参数名类型描述默认值
focus() => void聚焦输入框-
blur() => void失焦输入框-
inputDomHTMLInputElement输入框 dom元素-
domHTMLInputElement输入框 dom元素-
标签输入框 InputTag
结合 Tailwind
结合 CSS
使用方法
API