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
placeholderonTextareaAppearanceto hint expected content. - Attach
rulesonTextareaBind(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.
Empty multiline field with placeholder hint text; bind value via TextareaBind for two-way sync.
Pre-filled content for edit flows; the bound signal initializes the textarea on first render.
Read-only state: content is visible but cannot be edited while a save or lock is in progress.
Default resize is none; the control keeps a stable footprint in the layout.
Field shows the label and required indicator; TextareaRule::required drives validation text below the control.