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
endSee MishkaGervaz.Form.Behaviours.FieldType and MishkaGervaz.Form.Types.Field.