Elixir ExAdmin,如何将布尔输入定义为复选框?

Posted

技术标签:

【中文标题】Elixir ExAdmin,如何将布尔输入定义为复选框?【英文标题】:Elixir ExAdmin, how to define boolean input as a checkbox? 【发布时间】:2018-02-16 14:17:31 【问题描述】:

在 ExAdmin 中,如何使布尔值的输入字段呈现为复选框。 默认情况下(即空register_resource App.Reservation do end)它显示为一个复选框,但我需要自定义表单并且在输入列表中定义它时不能让它成为一个复选框。

register_resource App.Reservation do
  form reservation do
    inputs do
      input reservation, :is_booked
    end 
  end
end

文档提到 check_boxesradio 用于组,但没有提及单个字段。

input reservation, :is_booked 将创建一个文本字段。

input reservation, :is_booked, type: :boolean 将创建一个默认值 true 的文本字段。

希望将其作为复选框

【问题讨论】:

input reservation, :is_booked, type: :checkbox 怎么样? (我从未使用过 ex_admin。) 这会导致一个大文本字段在单击后仍保持活动状态,但不会记录击键。我尝试了很多不同的类型,check_boxes 是用于组的,radio 也不起作用。感谢您的建议 为什么不尝试“修复”在模板端显示“true”的文本字段? (只是想知道基于小凤凰和铁轨)-> hexdocs.pm/phoenix_html/Phoenix.HTML.Form.html#summary 我可能最终会这样做,但应该可以使用内置函数来做到这一点,我只是不知道怎么做。 【参考方案1】:

我遇到的问题是我忘记在模型中定义字段类型。一旦我这样做了,它就起作用了!

schema "users" do
  ...
  field :active, :boolean, default: false
  ...
end

在 user.ex 的管理员中

inputs do
...
  input user, :active
...
end

【讨论】:

您在 ExAdmin 文件中写了什么?该字段已在我的应用程序中定义为布尔值 更新答案。

以上是关于Elixir ExAdmin,如何将布尔输入定义为复选框?的主要内容,如果未能解决你的问题,请参考以下文章

如何管道为循环elixir

Elixir:来自函数的结构默认值

如何将 Erlang sys.config 转换为 Elixir config.exs?

如何在 elixir 中将二进制转换为 base10(十进制)整数

将 XML 解析为 JSON Elixir

Elixir:应用程序立即退出,或者在运行 distillery 包时没有收到输入。为啥它会以这种方式工作,以及如何解决它?