tags-input

Tags Input

An underlined field that collects several short values as removable tags, such as materials or interests; joins a Field around it.

States: Default, Focus, Invalid

Parts

PartFileDoes
TagsInputTagsInput.vueGroups all parts of the tags input, where the user enters several short values.
TagsInputInputTagsInputInput.vueLets the user type a new tag and add it to the tags input.
TagsInputItemTagsInputItem.vueGroups the text and delete button of one tag.
TagsInputItemDeleteTagsInputItemDelete.vueLets the user remove its tag.
TagsInputItemTextTagsInputItemText.vueShows the value of one tag.

Anatomy

<TagsInput>
  <TagsInputItem>
    <TagsInputItemText />
    <TagsInputItemDelete />
  </TagsInputItem>
  <TagsInputInput />
</TagsInput>

Styling

PartRecipe
TagsInputtags-input
TagsInputInputtags-input-input
TagsInputItemtags-input-item
TagsInputItemDeletetags-input-item-delete
TagsInputItemTexttags-input-item-text

Install

Writes 6 files into components/ui/tags-input/. For agents, npx @frontic/ui docs tags-input prints this reference as markdown; the MCP server serves the same.

Installs with it
use-field-control
npm packages
@lucide/vue
@vueuse/core
reka-ui

API reference

TagsInput TagsInput.vue

Groups all parts of the tags input, where the user enters several short values.

PropTypeDefault
modelValueAcceptableInputValue[] | null—
defaultValueAcceptableInputValue[]—
addOnPastebooleanfalse
addOnTabbooleanfalse
addOnBlurbooleanfalse
duplicatebooleanfalse
disabledbooleanfalse
delimiterstring | RegExp','
dirDirection—
maxnumber0
idstring—
convertValue((value: string) => AcceptableInputValue)—
displayValue((value: AcceptableInputValue) => string)—
asChildbooleanfalse
asAsTag | Component—
namestring—
requiredbooleanfalse
classClassValue—
EventPayload
update:modelValuepayload: AcceptableInputValue[]
invalidpayload: AcceptableInputValue
addTagpayload: AcceptableInputValue
removeTagpayload: AcceptableInputValue
SlotSlot props
default{ modelValue: AcceptableInputValue[]; }
Recipe tags-inputSets
base: tags-input 21 properties · 13 inherited

TagsInputInput TagsInputInput.vue

TagsInputItem TagsInputItem.vue

TagsInputItemDelete TagsInputItemDelete.vue

TagsInputItemText TagsInputItemText.vue

Example
State