У меня есть веб-компонент, который может иметь детей. И, увидев, что JS хочет, чтобы он обернул своих текущих дочерних элементов в модальный тег (у которого уже есть дочерний элемент).
В настоящее время у меня есть:
class Modal extends HTMLElement {
connectedCallback() {
// Wrap current children inside of dialog element
}
}
customElements.define("modal-component", Modal);
<modal-component>
<p> Lorem impsum </p>
</modal-component>
<!-- I want the logic in connectedCallback() to produce this with the p tag now being wrapped inside dialog -->
<modal-component>
<dialog>
<span class="close">×</span>
<p> Lorem impsum </p>
</dialog>
</modal-component>
Я попытался написатьэто внутри connectedCallback
, но значение this.innerHTML
равно ''
, даже если есть дети
this.innerHTML = `<dialog><span class="close">×</span>${this.innerHTML}</dialog>`;
Я пробовал использовать слоты, но эта функция, кажется, покрывает инъекцию один к одному, когда мой Modal
компонент должен поместить несколько дочерних элементов в один слот.
Каков наилучший способ сделать это?