Textarea
Campo de texto multilinha. Usa field-sizing-content para se ajustar automaticamente ao conteúdo.
Variações
Exemplos com altura controlada e resize desabilitado.
Padrão de implementação
Snippets para uso do Textarea.
Textarea com Field
import { Textarea } from "@/components/ui/textarea"
import { Field } from "@/components/field"
<Field label="Descrição" htmlFor="desc" required>
<Textarea
id="desc"
placeholder="Descreva o problema..."
rows={4}
/>
</Field>Textarea controlado
"use client"
import { useState } from "react"
export function TextareaDemo() {
const [value, setValue] = useState("")
return (
<div className="flex flex-col gap-1">
<Textarea
value={value}
onChange={(e) => setValue(e.target.value)}
placeholder="Escreva aqui..."
maxLength={500}
/>
<span className="text-xs text-muted-foreground text-right">
{value.length}/500
</span>
</div>
)
}Props e uso
API do Textarea.
Props principais
rows
number
Altura mínima em linhas.
placeholder
string
Texto de placeholder.
disabled
boolean
Desabilita o campo.
aria-invalid
boolean
Ativa o visual de erro.
className
string
Use resize-none para bloquear redimensionamento manual.
MN Design System · Primary #5FC318 · Brand Green #AFF000 · Font: Inter