网站搜索

Typescript 接口,其中“id”必须是数字,其他属性必须是字符串


我需要为来自服务器的数据定义一个接口,其中id是数字,但所有其他属性都是字符串。

我尝试过:

interface AnyChartsData {
  id: number;
  [key: string]: string;
}

但是我收到了这个错误:

[ts] 类型为 'number' 的属性 'id' 不能分配给字符串索引类型 'string'。 [2411]

我怎样才能正确定义这个接口?

答案#1

你必须使用联合类型,因为id是数字而不是字符串,例如。

interface AnyChartsData {
    id: number;
    [key: string]: string | number;
}