Я занимаюсь разработкой веб-компонента с использованием stencilJS.Я использую слот для рендеринга HTML, но мне нужно изменить HTML, прежде чем он будет отрендерен, для этого я использую функции querySelector и appendChild для манипулирования DOM.Это работает нормально на Chrome, но выдает ошибку иерархии в IE и Edge.Вот мой код:
функция рендеринга в TSX:
render () {
return (
<div class={`column-${this.column}`}>
<slot/>
</div>
)
}
Код для управления DOM:
componentDidLoad () {
const container = this.element.shadowRoot.querySelector(`.column-${this.column}`) ?
this.element.shadowRoot.querySelector(`.column-${this.column}`) : this.element.querySelector(`.column-${this.column}`)
Array.from(this.element.children).forEach(node => {
const elem = document.createElement('div')
elem.appendChild(node)
container.appendChild(elem)
})
}
Приведенный выше код прекрасно работает на Chrome, но выдает ошибкув IE на линии
container.appendChild(elem)