TypeScript报错:ContactHelpdeskContex类型无number参数索引签名如何解决
报错原因
supportPaneltext本身就是ContactHelpdeskContex[]数组类型,额外调用Object.values()处理数组属于多余操作,返回结果和原数组内容完全一致。- 调用
map遍历数组时,回调函数的第一个参数item已经是单个ContactHelpdeskContex类型的实例对象,不是数组。使用item[i]的写法相当于尝试用数字下标索引单个实例对象,而ContactHelpdeskContex类型没有定义数字类型的索引签名,因此触发TS类型报错。
解决方案
直接删除多余的Object.values()调用,同时把item[i]替换为item即可,修正后的代码如下:
public getLabel() { if (!this.supportPaneltext) { return; } this.textPanel = this.supportPaneltext.map((item) => { return { brand: item.brand, selected: false, textContent: item.paragraphList } }) }
内容的提问来源于stack exchange,提问作者SharePointBeginner
相关产品推荐
相关产品推荐

