如何正确扩展某些字段覆盖的接口



我想扩展接口Position并更新其字段的类型

export interface Position {
expiryDate: string;
strike: string;
...
}
type OverridePosition = Omit<Position, 'expiryDate|strike'> & {
expiryDate: number;
strike: number;
}
let positionItem:OverridePosition = {
expiryDate: 1000000,
strike: 2000;
...
}

但是positionItem的错误抛出。

Type 'number' is not assignable to type 'never'.ts(2322)
Type.ts(37, 3): The expected type comes from property 'expiryDate' which is declared here on type 'OverridePosition'

您很接近,但Omit错误。要省略的项目名称应该是字符串的并集,而不是带有管道字符的单个字符串。

type OverridePosition = Omit<Position, 'expiryDate' | 'strike'> & {
expiryDate: number;
strike: number;
}

游乐场

最新更新