Textarea
Multi-line text input for longer form content.
Basic Textarea
A simple textarea with label.
<%= render Rvk::TextareaComponent.new(
name: "message",
label: "Message",
placeholder: "Enter your message..."
) %>
Custom Rows
Control the textarea height with rows.
<%= render Rvk::TextareaComponent.new(name: "short", label: "Short (2 rows)", rows: 2, placeholder: "Brief note...") %>
<%= render Rvk::TextareaComponent.new(name: "long", label: "Long (8 rows)", rows: 8, placeholder: "Detailed description...") %>
With Hint and Error
Add helper text or validation errors.
Write a short bio about yourself.
Description is required.
<%= render Rvk::TextareaComponent.new(
name: "bio",
label: "Bio",
hint: "Write a short bio about yourself.",
placeholder: "I'm a developer who..."
) %>
<%= render Rvk::TextareaComponent.new(
name: "description",
label: "Description",
error: "Description is required."
) %>
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| name | String | required | Form field name |
| rows | Integer | 4 | Number of visible text lines |
| label | String | nil | Label text |
| label_style | Symbol | :stacked | Label style: :stacked or :floating |
| size | Symbol | :md | Input size: :sm, :md, :lg |
| hint | String | nil | Helper text below textarea |
| error | String | nil | Error message |
| required | Boolean | false | Mark as required |
| disabled | Boolean | false | Disable the textarea |