Component

Textarea

<DomTextareaInput>

Multi-line text input with the same label/description chrome as the rest of the form components.

Playground

Try every prop live

Textarea playground

Edit props in the inspector — label, rows, and placeholder update live.

A short public summary.

Playground.vuevue
<script setup>
import { reactive } from 'vue';
import { DomTextareaInput } from '@getdom/studio/vue';

const data = reactive({
	  "modelValue": "",
	  "id": "",
	  "name": "",
	  "label": "Bio",
	  "description": "A short public summary.",
	  "placeholder": "Tell us about yourself…",
	  "required": false,
	  "disabled": false,
	  "readOnly": false,
	  "invalid": false,
	  "errors": {},
	  "visible": true,
	  "validators": [],
	  "validateOnBlur": true,
	  "chrome": "field",
	  "rows": 4
	});
</script>

<template>
	<DomTextareaInput
		v-bind="data"
		@update:modelValue="data.modelValue = $event"
	/>
</template>

Demo

Live preview

A short paragraph that appears under your name.

Usage

Vue

<script setup>
import { DomTextareaInput } from '@getdom/studio/vue';
import { ref } from 'vue';
const bio = ref('');
</script>

<template>
  <DomTextareaInput
    v-model="bio"
    label="Bio"
    description="A short paragraph that appears under your name."
    :rows="4"
  />
</template>

Props

Props

NameTypeDefaultDescription
v-modelstring''Bound text value.
labelstringLabel above the textarea.
descriptionstringHint shown below the textarea.
rowsnumber3Number of visible rows.
placeholderstringPlaceholder text.
disabledbooleanfalseDisable the textarea.