Hi,
I’m rendering a live component in a for loop:
<%= for mapping_form <- inputs_for(f, :mapping) do %>
...
<.live_select
form={mapping_form}
field={:source_field}
phx-target={@myself}
options={source_field_option_list(@changeset)}
update_min_len={0}
/>
<% end %>
“live_select” renders a live component. What I want to do is to update the component dynamically using send_update:
send_update(LiveSelect, id: id, options: options)
This fails with the error:
send_update failed because component LiveSelect with ID "custom_mapping[mapping][0]_source_field_live_select_component" does not exist or it has been removed
However, when I inspect the DOM, I see the live compnent is there and has the expected id custom_mapping[mapping][0]_source_field_live_select_component
I’m kind of puzzled by this issue, as far as I know sending updates to LiveComponents should work even if they’re rendered in a loop.
Wondering if anyone can give me a hint or can think of any reason that would cause the LiveComponent not to be found by LiveView.
Thanks!
P.S: using the new <.inputs_for>
component instead of the loop didn’t change anything