Form input
Textarea
Multiline semantics without duplicating TextField styling or validation state.30
Playground
Configure the component and copy synchronized Vue code.
Token map
The manual manifest combines inherited token owners with local deltas.
MTextarea · All76 tokens
md-textareaMTextarea API
Props, slots, and events are generated from the current public kit contract.
Props
NameTypeDefault
disabledPrevents interaction and applies the disabled visual state.booleanfalseloadingReplaces content with progress feedback and prevents interaction.booleanfalsereadonlybooleanfalsevariant'filled' | 'outlined''filled'rounded'sharp' | 'small' | 'medium' | 'large' | 'pill''small'labelPlacementWhere the label sits. Defaults to `top` rather than the family's `float`: a multi-line box has no free first line to float into, which is what made the label land in the middle of the box before this was an axis.'top' | 'float' | 'inset' | 'hidden''top'pathstringundefinednamestringundefinedlabelstringundefinedplaceholderstringundefinedhelperTextstringundefinederrorbooleanfalseerrorMessagestringundefinedrequiredbooleanfalseautofocusbooleanfalseautocompletestringundefinedrowsMinimum and initial height, in rows.number3maxRowsGrowth ceiling in rows; beyond it the value scrolls.numberundefinedautoGrowGrow with the content instead of staying at `rows`.booleanfalseresizableRender a corner grip the user can drag — or arrow-key — to set the height. A height set by hand outranks `autoGrow` until Escape resets it.booleanfalseresizeLabelAccessible name of the resize grip.stringMESSAGES.textareaResizemaxlengthnumberundefinedcounter`true` counts against `maxlength`; a number sets a display-only limit.boolean | numberfalsespellcheckbooleanundefinedwrap'soft' | 'hard' | 'off''soft'Slots
Events
MTextarea does not emit component-specific events. Native events fall through to its root element.