Textarea

Textarea collects multi-line text — descriptions, comments, and notes — when Input is too short.

Bind a string signal, set resize when the layout must stay fixed, and wrap in Field for labels and validation. For single-line entry, use Input instead.

  • Long-form descriptions, comments, and notes
  • Multi-line inputs where a single-line Input is insufficient
  • Resizable text areas in forms and settings panels
  • Create a string signal and pass it in TextareaBind (two-way binding).
  • Wrap in Field when the control needs a visible label or validation message.
  • Set placeholder on TextareaAppearance to hint expected content.
  • Attach rules on TextareaBind (e.g. TextareaRule::required) when Field should show errors.

Grouped props: TextareaBind (value, id, name, rules), TextareaAppearance (placeholder, disabled, resize, size), TextareaEvents (focus, blur, allow_value). At call sites you can write bind=signal via From on TextareaBind.

Default

Empty multiline field with placeholder hint text; bind value via TextareaBind for two-way sync.

With initial value

Pre-filled content for edit flows; the bound signal initializes the textarea on first render.

Disabled

Read-only state: content is visible but cannot be edited while a save or lock is in progress.

Fixed size

Default resize is none; the control keeps a stable footprint in the layout.

Required validation inside Field

Field shows the label and required indicator; TextareaRule::required drives validation text below the control.