private _renderListOfLists(items : ISharePointList[]):void {
let html : string = '';
items.forEach((item:ISharePointList) => {
html += `
<ul class = "">
<li class = ""><span class="ms-font-1">${item.ListTitle}</span></li>
<li class = ""><span class="ms-font-1">${item.ListID}</span></li>
</ul>
`;
}
);
const listsPlaceholder : Element = this.domElement.querySelector('#SPListPlaceHolder');
listsPlaceholder.innerHTML = html;
}
我收到以下错误消息:
输入“元素| null' 不可分配给类型“Element”。 类型“null”不可分配给类型“Element”.ts(2322) const 列表占位符:元素
有人可以帮忙吗?
我不确定为什么会收到语法错误消息
querySelector
可能会返回null
。
如果您确定该元素存在,您可以使用
as
: 断言该类型
const listsPlaceholder = this.domElement.querySelector('#SPListPlaceHolder') as Element;
否则,您必须在 TypeScript 允许您将该值用作
Element
之前进行检查。
const listsPlaceholder = this.domElement.querySelector('#SPListPlaceHolder');
if (listsPlaceholder === null) throw new Error('placeholder element not found')
listsPlaceholder.innerHTML = html;