If i’m understanding the differentiation in the docs I believe they are stateful. I use handle_event all over them and they are Phoenix.LiveComponent’s and not Phoenix.Component’s. My update function looks like this:
def update(assigns, socket) do
name = String.to_existing_atom("#{Map.get(assigns, :assoc)}_id")
socket = socket
|> assign(assigns)
|> assign([items: [], vid: nil, index: 0, count: 0, name: name])
{:ok, assign(socket, value: get_value(socket.assigns))}
end
When I call send_update from the parent i’m only passing vid and value (as I don’t have access to the other assigns needed at this point), and inspecting update those are the only variables available in assigns.
send_update(Search, id: id, value: value, vid: vid)
> Inferred IO.inspect In the Update Function
> %{
id: "component id",
value: "field value",
vid: "field id"
}






















