TagsInput

Free-form multi-value chip input

Category: inputs · WCAG 2.2-AA · form, tags, chips, multi, input

States

Props

PropTypeDefaultDescription
valuestring[]—The controlled value.
onValueChange(v: string[]) => void—Called with the new value when it changes.
placeholderstring—Placeholder text shown when the field is empty.
validate(tag: string) => boolean—Returns whether a candidate tag is allowed.
maxnumber—Maximum allowed value.
disabledbooleanfalseWhen true, disables the control and removes it from the tab order.
idstring—Id for the **inner text input** — the focusable control, so a `<label for>` names the thing that actually takes focus. `Field` supplies this automatically.
ariaLabelstring—Invisible accessible name for the tag entry field. Use when no visible label names it; inside a `Field` it is not needed, as the Field label is wired through automatically.
labelstring—Alias of `ariaLabel` — the same invisible accessible name under the other spelling. Not rendered.

Design tokens

When to use

When not to use

How to build an accessible TagsInput in React →

Examples

Basic

<TagsInput value={['react', 'vue']} onValueChange={() => {}} placeholder="Add tag…" />

Related components

← Back to docs