Skip to content

How can I access to named slot as a variable !? #3405

Discussion options

You must be logged in to vote

You can use this.shadowRoot.querySelector() or the @query() decorator:

import {LitElement, html} from 'lit';
import {customElement, query} from 'lit/decorators.js';

@customElement('my-element')
class MyElement extends LitElement {

  @query('slot[name=foo]')
  _fooSlot!: HTMLSlotElement;

  render() {
    return html`
      <button @click=${this._go}>Go</button>
      <slot name="foo"></slot>
    `;
  }
  _go() {
    // If you're not using decorators, you can querySelector:
    // const fooSlot = this.shadowRoot.querySelector('slot[name=foo]');
    const fooSlottedElement = this._fooSlot.assignedElements(true);
  }
}

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by mojtaba-afraz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants