Skip to content

When using :on-click={"name", target="#target_id"} I cannot seem to get a sibling to target another sibling node that is rendered in the same parent. #712

Open
@severian1778

Description

@severian1778

Describe the bug

I have a liveview with two components that render content into their slots. One is a live component that has a substate managing some ui, the other is simply a component with a button in it that I want to trigger a function in the live component.

The heirarchy is:

When I use the following action.

image

You can clearly see the on click event.

The component is rendered int he parent liveview ->

image

I can target the parent (which is the liveview) fairly easily and that is great, but when I want to talk to a sibling live component, rendered in the same liveview -> as thus:

I get an error in the console:

image

and just for completion here is the call to "tokenslotrail", the component I want to target, which is rendered in the same parent liveview.

image

Is there some limitation I am missing? The documentation is very sparse and I can't understand why I simply cannot target any node I want by id.

Thank you so much for helping

How to reproduce it

  1. ... It should be obvious from above.

The behavior you expected

I expect a onclick target Js push to simply target the node that I want to when I push the event to it and pattern match the handle_event there.

Your Environment

Surface: v0.1.1
LiveView: v0.19
Elixir: v1.14.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions