我想擴展介面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'
uj5u.com熱心網友回復:
你很接近,但你Omit錯了。要省略的屬性名稱應該是字串的聯合,而不是帶有管道字符的單個字串。
type OverridePosition = Omit<Position, 'expiryDate' | 'strike'> & {
expiryDate: number;
strike: number;
}
操場
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/449554.html
標籤:打字稿
