Ts中string、number和any等类型 不能当做索引用,怎么处理?
肥晨 2023-05-181,049阅读1分钟文章目录
导文
Ts中string、number和any等类型 不能当做索引用,怎么处理?
报错:元素隐式具有“any”类型,因为类型为“number”的表达式不能用于索引类型“[***”。在类型“[ ***”上找不到具有类型为“number"的参数的索引签名。 ts(7053)
keyof 的使用
问题
Ts中string、number和any等类型 不能当做索引用,怎么处理?
javascript 复制代码const handerField = (item: number) => {
caselist= data.showList[item]//报错
}
元素隐式地拥有 any 类型,因为 number类型不能被用于索引 {} 类型。
解决方法
方法1
javascript 复制代码const handerField = (item: number) => {
caselist= (data.showList as any)[item];
}
方法2
javascript 复制代码const handerField = (item: number) => {
caselist= data.showList [item as keyof typeof data.showList ]
}
方法3
javascript 复制代码const handerField = function <T extends object, K extends keyof T>(obj: T, key: K) {
return obj[key];
}
标签:
TypeScript
标签:string,item,Ts,number,索引,类型,any
From: https://www.cnblogs.com/sexintercourse/p/17788230.html