Input data using mouse or keyboard.


Input is a controlled component, it always shows Vue binding value.

Under normal circumstances, input event should be handled. Its handler should update component's binding value (or use v-model). Otherwise, input box's value will not change.

Do not support v-model modifiers.

Basic usage




Display value within it's situation with formatter, and we usually use parser at the same time.

Password box

Input with icon

Add an icon to indicate input type.


Resizable for entering multiple lines of text information. Add attribute type="textarea" to change input into native textarea.

Autosize Textarea

Setting the autosize prop for a textarea type of Input makes the height to automatically adjust based on the content. An options object can be provided to autosize to specify the minimum and maximum number of lines the textarea can automatically adjust.

Mixed input

Prepend or append an element, generally a label or a button.


Limit length

Input Attributes

NameDescriptionTypeAccepted ValuesDefault
typetype of inputstringtext, textarea and other native input typestext
modelValue / v-modelbinding valuestring / number
maxlengththe max lengthstring / number
minlengthsame as minlength in native inputnumber
show-word-limitwhether show word count, only works when type is 'text' or 'textarea'booleanfalse
placeholderplaceholder of Inputstring
clearablewhether to show clear buttonbooleanfalse
formatterspecifies the format of the value presented input.(only works when type is 'text')(value: string | number) => string
parserspecifies the value extracted from formatter input.(only works when type is 'text')(string) => string
show-passwordwhether to show toggleable password inputbooleanfalse
disabledwhether Input is disabledbooleanfalse
sizesize of Input, works when type is not 'textarea'stringlarge / default / small
prefix-iconprefix icon componentstring | Component
suffix-iconsuffix icon componentstring | Component
rowsnumber of rows of textarea, only works when type is 'textarea'number2
autosizewhether textarea has an adaptive height, only works when type is 'textarea'. Can accept an object, e.g. { minRows: 2, maxRows: 6 }boolean / objectfalse
autocompletesame as autocomplete in native inputstringoff
namesame as name in native inputstring
readonlysame as readonly in native inputbooleanfalse
maxsame as max in native input
minsame as min in native input
stepsame as step in native input
resizecontrol the resizabilitystringnone / both / horizontal / vertical
autofocussame as autofocus in native inputbooleanfalse
formsame as form in native inputstring
labellabel textstring
tabindexinput tabindexstring / number--
validate-eventwhether to trigger form validationboolean-true
input-stylethe style of the input element or textarea elementobject-{}

Input Slots

prefixcontent as Input prefix, only works when type is not 'textarea'
suffixcontent as Input suffix, only works when type is not 'textarea'
prependcontent to prepend before Input, only works when type is not 'textarea'
appendcontent to append after Input, only works when type is not 'textarea'

Input Events

blurtriggers when Input blurs(event: FocusEvent)
focustriggers when Input focuses(event: FocusEvent)
changetriggers when the input box loses focus or the user presses Enter, only if the modelValue has changed(value: string | number)
inputtriggers when the Input value change(value: string | number)
cleartriggers when the Input is cleared by clicking the clear button

Input Methods

focusfocus the input element
blurblur the input element
selectselect the text in input element