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

时间:2019-01-31 11:54:10

标签: typescript

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

我尝试过:

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

但我收到此错误:

  

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

如何正确定义此接口?

1 个答案:

答案 0 :(得分:3)

由于id是数字而不是字符串,因此您必须使用联合类型。

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