元素隐式具有 “any“ 类型,因为类型为 “string“ 的表达式不能用于索引类型

元素隐式具有 “any” 类型,因为类型为 “string” 的表达式不能用于索引类型

在使用ts批量注入@element-plus/icons图标时报错
元素隐式具有 “any“ 类型,因为类型为 “string“ 的表达式不能用于索引类型

解决办法 要么忽略要么声明,但是如果忽然就失去了typescript意义

这里给出typescript的声明方法

在utils.ts中定义方法

export  function isValidKey(key: string | number | symbol , object: object): key is keyof typeof object {
  return key in object;
}

在main.ts中使用

import {isValidKey} from './utils/utils'
import * as ElIcons from '@element-plus/icons';
Object.keys(ElIcons).forEach(key =>{
    if(isValidKey(key,ElIcons)){
      app.component(key, ElIcons[key]);
    }

})	


就可以正常使用了

上一篇:Golang自定义包引入的坑(提示xxx is not in GOROOT)


下一篇:【源码阅读 | xe-utils源码 | 06】isEqual 深度比较两个值是否相等