小编RQm*_*man的帖子

Typescript:输入可选属性列表中的一个必需属性

我有带有可选属性列表的界面。

export interface OptionalIds {
  entityA_Id?: number;
  entityB_Id?: number;
  entityC_Id?: number;
}
Run Code Online (Sandbox Code Playgroud)

我有一个要求,必须准确定义其中之一。像这样的东西:

export interface RequiredBId {
  entityA_Id?: undefined;
  entityB_Id: number;
  entityC_Id?: undefined;
}

export interface RequiredCId {
  entityA_Id?: undefined;
  entityB_Id?: undefined;
  entityC_Id: number;
}

export interface OptionalIds {
  entityA_Id?: number;
  entityB_Id?: number;
  entityC_Id?: number;
}

export type RestrictedOptionalIds = OptionalIds & (RequiredAId | RequiredBId | RequiredCId)
Run Code Online (Sandbox Code Playgroud)

问题是:是否有其他方法可以在不使用奇怪结构的情况下实现所描述的行为?

typescript type-definition

7
推荐指数
1
解决办法
271
查看次数

标签 统计

type-definition ×1

typescript ×1