這里我有簡單的示例打字稿介面:
interface A: {
id: number;
email: string;
}
interface B extends A {
login: string;
password: string;
}
我想要什么:如果我從介面 A 創建一個物件,則所有屬性都是必需的。如果我創建 B - A 中的“電子郵件”屬性是可選的,則所有其他屬性 (B) 都是必需的。可能嗎 ?
uj5u.com熱心網友回復:
這是解決方案。您需要pick
來自 A 的 email 屬性:
Pick<A,"email">
并使用 Partial 使其成為可選
interface B extends Partial<Pick<A,"email">>
完整代碼和 playgorung
interface A {
id: number;
email: string;
}
interface B extends Partial<Pick<A,"email">> {
login: string;
password: string;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/516222.html
標籤:打字稿界面
上一篇:將檔案從React/TypeScript傳遞到C#API會導致錯誤:“無法將JSON值轉換為System.Byte[]”