Phoenix 框架模板中的自定义选择

Custom selection in Phoenix Framework template

我想要一个带有 3 个选项的自定义 select fielddogcatother - 当另一个被选中时,我希望空白文本输入出现在下面,以允许用户在其中写下他最喜欢的动物。

有没有一种方法可以根据所选选项有条件地呈现字段?

<%= 
select f, :animal, [
   {"Dog", :dog},
   {"Cat", :cat},
   {"Other", :other}
]

text_input f, :animal
%>

没有 JavaScript 的帮助你无法实现它。

HTML 标记在服务器端呈现,选项的选择在浏览器上进行。

如果您不想编写 JavaScript 代码,请尝试 Phoenix LiveView,它允许您在服务器端动态更改 DOM 树。

Phoenix LiveView 背后有一个 JavaScript 库,但您几乎不会注意到它。