根据接口中另一个属性的值设置属性名称

时间:2019-06-03 12:53:07

标签: typescript

是否可以为接口属性名称指定允许值的列表?

例如,说我有一个像这样的界面:

export interface DashboardRequest {
  name?: string;
  description?: string;
  type: 'foo'|'bar';
  ['foo' |'bar']: any;
}

我希望将属性名称限制为界面中另一个属性的可能值。

我知道上面的说法是错误的,但希望能说明我想要实现的目标。

这里正确的方法是什么? 谢谢

1 个答案:

答案 0 :(得分:2)

您可以使用有区别的联合(以及避免使用重复的交叉点)来实现此目的

Node does not exist: