Typescript 对象可否用三元表达式设置类型

请问,如何根据给定的泛型动态判断对象属性类型

export interface ObjectImage {}

export interface ObjectText {}

export type ObjectType = "IMAGE" | "TEXT";

export interface BaseObject {
  id: string;
  readonly type: ObjectType;
}

export interface Object<T extends ObjectType> extends BaseObject {
  // 错误的,但是不知道解决方案
  text: T === "TEXT" ? ObjectText : null;
  image: T === "IMAGE" ? ObjectImage : null;
}

以上代码是错误的,但是我不知道解决方案,typescirpt是不能使用三元运算符吗

阅读 1.7k
1 个回答

=== 替换成 extends

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题