MishkaGervaz.Form.Types.Field.Combobox (MishkaGervaz v0.0.1-alpha.3)

Copy Markdown View Source

Combobox field type: text input with dropdown suggestions.

Combines free text entry with pre-loaded option suggestions. Users can type any value or select from the suggestion list.

Options are resolved once at form initialization (not on every render), making it efficient for database-backed suggestion lists.

Example

field :language, :combobox do
  options fn ->
    case Ecto.Adapters.SQL.query(Repo, "SELECT DISTINCT language FROM posts") do
      {:ok, %{rows: rows}} -> Enum.map(rows, fn [lang] -> {String.upcase(lang), lang} end)
      _ -> []
    end
  end
end

See MishkaGervaz.Form.Behaviours.FieldType and MishkaGervaz.Form.Types.Field.