Skip to content

Textarea ​

Textarea is a styled multi-line text input with v-model support, error/hint messaging, and disabled state.

Basic usage ​

Tailwind v4
vue
<Textarea v-model="notes" placeholder="Enter notes..." />

With label ​

Tailwind v4
vue
<FormGroup label="Notes" for="notes">
  <Textarea id="notes" v-model="notes" placeholder="Add any additional context..." />
</FormGroup>

Rows ​

Control the initial height with rows (maps to the native rows attribute):

rows="2"
rows="6"
Tailwind v4
vue
<Textarea v-model="description" :rows="2" />
<Textarea v-model="description" :rows="6" />

Textareas are vertically resizable by default (resize-y).

Error state ​

Tailwind v4
vue
<Textarea v-model="body" :error="errors.body" />

Hint text ​

Tailwind v4
vue
<Textarea v-model="bio" hint="Max 500 characters." />

Disabled ​

Tailwind v4
vue
<Textarea v-model="value" :disabled="true" />

Props ​

PropTypeDefaultDescription
modelValuestring—Value (use with v-model)
placeholderstring—Placeholder text
rowsnumber3Initial number of visible rows
errorstring—Error message — shows danger border + text below
hintstring—Hint text below (hidden when error is set)
disabledbooleanfalseDisables the textarea

Events ​

EventPayloadDescription
update:modelValuestringEmitted on every keystroke

Private — Jetpack Labs internal use only