我无法使用 insertAdjacentHTML 在“开始之前”插入 deleteElement,因为 HTMLElement 类型的参数不能分配给 String 类型的参数。
deleteElement 不能作为参数传递给 insertAdjacentHTML,因为它不是类型字符串的 HTMLElement。
const deleteIcon = `
<clr-icon
style="color: #0076CE;">
</clr-icon>
`;
const deleteElement = document.createElement('span');
deleteElement.innerHTML = deleteIcon;
deleteElement.addEventListener('click', this.onClick.bind(this));
const controlIndicator = DOMUtils.findLastSibling(this.el.nativeElement, '.x-indicator');
if (controlIndicator) {
// Having issue where argument of type HTMLElement is not assignable to parameter of type String
controlIndicator.insertAdjacentHTML('beforebegin', deleteElement);
}
我的解决方法是使用 prepend 但这似乎不等同于“beforebegin”语句。
controlIndicator.prepend(deleteElement);
是否有更好的解决方法,使其等效于以下语句?
controlIndicator.insertAdjacentHTML('beforebegin', deleteElement);