我已经创建了这个简单的表单,我在LiveView组件中处理它。在我提交表单后,社区清除/重置表单的最佳做法是什么?
我确实想把验证等因素考虑在内。那么,即使没有架构直接支持表单,这是否总是通过Ecto.Changeset实现的呢?
def handle_event("add", %{"text" => text}, socket) do
IO.inspect(text)
{:noreply, socket}
end
def render(assigns) do
~H"""
<form phx-submit="add">
<input type="text" name="text" placeholder="What needs to be done?" autofocus>
<input type="submit" />
</form>
"""
end
LiveView应该在提交后自动重置输入字段,但这可能是Ecto独有的功能。如果你想清除输入,你也可以为此编写一个JS钩子。这很简单。
你总是可以用一条闪光消息将用户重定向到某个地方,以获得更好的用户体验。
如果您想要验证,使用变更集(Ecto(可以为所有人提供强大的火力。和<。表单>将自动处理!