类型 'HTMLButtonElement' 不可分配给类型 'string'.ts(2322)

Type 'HTMLButtonElement' is not assignable to type 'string'.ts(2322)

您有一个在 table 中生成“tr”和“td”的函数。使用 For 循环,我将“td”元素放入“tr”。实际上一切正常。但是我在 Visual Studio 代码中遇到错误。

她是我的密码:

function setUI(tbody, courseData){

let arrCourse = Object.values(courseData) // parse object to array 
let tr = document.createElement('tr'); // create tr 
let button = document.createElement('button'); // create delete button
button.className = 'btn btn-danger'; // add class to button element
tbody.appendChild(tr); // add tr to tbody
for(let i = 0; i<arrCourse.length+1; i++){
    let td = document.createElement('td'); // create td .
    tr.appendChild(td); // append td to tr
    td.innerHTML = arrCourse[i]; // get index of array then push it to td
    if(i==arrCourse.length+1){
        td.appendChild(button);
    }  
}

}

我的错误在这里: 类型 'unknown' 不可分配给类型 'string'.ts(2322)

错误是这一行:

td.innerHTML = arrCourse[i]; // get index of array then push it to td

Typescript 编译器无法推断类型,因此它假定类型为 any。您可以通过显式设置类型来解决此问题

let arrCourse: string[] = Object.values(courseData) // parse object to array