![](/img/trans.png)
[英]How to create a model with dynamic amount of the nested items TypeScript
[英]Is it possible to create dynamic Typescript type based on some model?
考慮我有一個Address
接口 model:
interface AddressModel {
street: string | null;
streetNumber: string | null;
postalCode: string | null;
city: string | null;
country: string | null;
latitude: number | null;
longitude: number | null;
}
隨着 Angular 14 發布,我想創建一個基於AddressModel
的類型化表單組,其中鍵是表單控件的名稱,值是表單控件本身,帶有鍵的透視值,因此結果 model 將是:
interface AddressFormGroup {
street: FormControl<string | null>;
streetNumber: FormControl<string | null>;
postalCode: FormControl<string | null>;
city: FormControl<string | null>;
country: FormControl<string | null>;
latitude: FormControl<number | null>;
longitude: FormControl<number | null>;
}
我知道這可以手動創建 model 但也許 Typescript 具有自動化此過程的功能?
一個簡單的映射類型將為您執行此操作。
type ToFormControl<T> = {
[K in keyof T]: FormControl<T[K]>
}
type AddressFormGroup = ToFormControl<AddressModel>
// type AddressFormGroup = {
// street: FormControl<string | null>;
// streetNumber: FormControl<string | null>;
// postalCode: FormControl<string | null>;
// city: FormControl<string | null>;
// country: FormControl<...>;
// latitude: FormControl<...>;
// longitude: FormControl<...>;
// }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.