TypeScript中实例化agGrid的ColDef类型变量报错如何解决?
错误原因
ColDef是 ag-grid 导出的 TypeScript 类型定义,仅存在于编译阶段用于类型校验,没有对应的运行时类实现,因此不能使用new关键字实例化,这也是 TS2693 报错的直接原因。
单个 ColDef 对象的正确声明方式
你可以直接通过对象字面量配合类型标注声明,有两种常用写法:
- 显式类型标注写法(推荐,声明时即可触发类型校验)
let myCD: ColDef = { field: this.fieldName };
- 类型断言写法(适合赋值后需要推导为ColDef类型的场景)
const myCD = { field: this.fieldName } as ColDef;
你之前通过数组取值的写法可以正常运行,是因为你给数组添加了ColDef[]的类型标注,数组内的对象会自动匹配ColDef的类型约束,取出的元素自然符合ColDef类型要求。
内容的提问来源于stack exchange,提问作者greg
相关产品推荐
相关产品推荐

