我在 LiveView 中处理表单上的 phx 更改时遇到问题。我正在创建一个用于过滤对象列表的搜索字段。该字段还有一个重置按钮。它看起来像这样:
<form phx-change="search-change" phx-submit="search-change">
<input type="text" name="search" value="<%= @search_list %>" placeholder="Search..." phx-debounce="500" />
<button type="button" phx-click="search-change" phx-value-search="">X</button>
</form>
搜索字段处理程序在 liveview 中,而不是在 liveview 组件中。Handler 是这样实现的:
@impl true
def handle_event("search-change", _, socket) do
IO.inspect("Searching...")
{:noreply, socket}
end
当我从页面开始或刷新对象列表和搜索字段所在的位置时,一切都按预期工作。但是当我 live_redirect 到另一个页面然后 live_redirect 返回时,表单不再抛出事件。重置按钮仍然有效并引发事件。这里可能是什么问题?