Select
Dropdown select menus for choosing from a list of options.
Basic Select
A simple select with options.
<%= render Rvk::SelectComponent.new(
name: "country",
label: "Country",
options: [
["United States", "us"],
["United Kingdom", "uk"],
["Canada", "ca"],
["Australia", "au"],
["Germany", "de"]
]
) %>
With Blank Option
Add a placeholder option at the top.
<%= render Rvk::SelectComponent.new(
name: "category",
label: "Category",
include_blank: "Select a category",
options: [
["Technology", "tech"],
["Design", "design"],
["Marketing", "marketing"],
["Sales", "sales"]
]
) %>
Pre-selected Value
Set a default selected option.
<%= render Rvk::SelectComponent.new(
name: "priority",
label: "Priority",
selected: "medium",
options: [
["Low", "low"],
["Medium", "medium"],
["High", "high"],
["Critical", "critical"]
]
) %>
Sizes
Selects come in 3 sizes.
<%= render Rvk::SelectComponent.new(name: "sm", label: "Small", size: :sm, options: [["Option 1", "1"], ["Option 2", "2"]]) %>
<%= render Rvk::SelectComponent.new(name: "md", label: "Medium", size: :md, options: [["Option 1", "1"], ["Option 2", "2"]]) %>
<%= render Rvk::SelectComponent.new(name: "lg", label: "Large", size: :lg, options: [["Option 1", "1"], ["Option 2", "2"]]) %>
Error State
Display validation errors.
Please select a role.
<%= render Rvk::SelectComponent.new(
name: "role",
label: "Role",
error: "Please select a role.",
include_blank: "Select a role",
options: [["Admin", "admin"], ["User", "user"], ["Guest", "guest"]]
) %>
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| name | String | required | Form field name |
| options | Array | [] | Array of [text, value] pairs |
| selected | String | nil | Pre-selected value |
| include_blank | String/Boolean | nil | Add blank option (true or custom text) |
| multiple | Boolean | false | Allow multiple selections |
| label | String | nil | Label text |
| size | Symbol | :md | Select size: :sm, :md, :lg |
| hint | String | nil | Helper text below select |
| error | String | nil | Error message |
| required | Boolean | false | Mark as required |
| disabled | Boolean | false | Disable the select |