如果我有一个类型:
type MyType = {
...
propertyA: string;
propertyB: number;
...
}
我怎样才能在另一种类型中键入这个,但允许省略属性的所有版本?例如:
type MyOtherType = {
propertyC: MyType | Omit<MyType, ANYTHING>;
}
我尝试过Omit<MyType, any>
,但它删除了对象上其他属性的类型。
正确的方法是什么?
如果我有一个类型:
type MyType = {
...
propertyA: string;
propertyB: number;
...
}
我怎样才能在另一种类型中键入这个,但允许省略属性的所有版本?例如:
type MyOtherType = {
propertyC: MyType | Omit<MyType, ANYTHING>;
}
我尝试过Omit<MyType, any>
,但它删除了对象上其他属性的类型。
正确的方法是什么?
2条答案
按热度按时间f0ofjuux1#
我相信你的意思是让所有这些都可选(
Partial
),你可以尝试使用Partial<T>
来代替:ia2d9nvy2#
如果我没理解错的话。您可以使用
Partial
实用程序类型使MyType的所有属性都是可选的,然后使用Omit从其中删除任何您想要的属性。这是一个例子。所以我从MyType中删除了
propertyA
。您可以通过将“propertyA”替换为该属性的名称来删除该属性。