对象打字稿中的条件类型
Posted
技术标签:
【中文标题】对象打字稿中的条件类型【英文标题】:Conditional Type in Object Typescript 【发布时间】:2021-11-06 12:25:25 【问题描述】:type OperationType = 'Insert' | 'Update' | 'Delete';
export type BaseModel<T extends Document> =
operationType:OperationType,
properties: "Update" extends BaseModel<T>["operationType"] ? UpdateProperties<T> : Properties<T>,
model:Model<T>
validation?:ValidateProp<T>
我enter code here
想代表Operation Type切换Property type但是不行...
【问题讨论】:
【参考方案1】:为了观察operationType
的具体类型,你需要像这样将它的类型指定为泛型:
export type BaseModel<T extends Document, O extends OperationType> =
operationType: O,
properties: O extends 'Update' ? UpdateProperties<T> : Properties<T>,
model: Model<T>
validation?: ValidateProp<T>
【讨论】:
现在仍在工作如果我在对象中设置“更新”,我想要始终应用属性以上是关于对象打字稿中的条件类型的主要内容,如果未能解决你的问题,请参考以下文章