any>> = {
[K in keyof T]: T[K] extends Record<any, any>
? FormGroup<ControlsOf<T[K]>>
: FormControl<T[K]>;
};
Он работает отлично с формгруп и контролами, но не поддерживает FormArray, как можно добавить поддержку?
ни как не парьтесь делайте отдельный интефейс для данных и для модели формы
Велосипед уже вроди разработан. Гляньте тут https://www.npmjs.com/package/ngx-forms-typed
та не хотелось бы юзать либы)
А нативные типы ангуляра не справляются?
Копипасту никто не отменял)
export interface GeoConditionsFormData { shippingAreas: Pick<ShippingArea, 'id' | 'name'>[]; canUseOtherConditions: boolean; otherConditions: { country: string | null; regionName: string; city: string; postalCodeFrom: string; postalCodeTo: string; postalCodes: string[]; distanceFrom: number | null; distanceTo: number | null; }; } interface GeoConditionsForm { shippingAreas: FormControl<GeoConditionsFormData['shippingAreas']>; canUseOtherConditions: FormControl<GeoConditionsFormData['canUseOtherConditions']>; otherConditions: FormGroup<{ country: FormControl<GeoConditionsFormData['otherConditions']['country']>; regionName: FormControl<GeoConditionsFormData['otherConditions']['regionName']>; city: FormControl<GeoConditionsFormData['otherConditions']['city']>; postalCodeFrom: FormControl<GeoConditionsFormData['otherConditions']['postalCodeFrom']>; postalCodeTo: FormControl<GeoConditionsFormData['otherConditions']['postalCodeTo']>; postalCodes: FormControl<GeoConditionsFormData['otherConditions']['postalCodes']>; distanceFrom: FormControl<GeoConditionsFormData['otherConditions']['distanceFrom']>; distanceTo: FormControl<GeoConditionsFormData['otherConditions']['distanceTo']>; }>; }
Не, ну это интерфейс под конкретную форму) а я имел ввиду конвертировать тип объекта в тип формы)
У Базаля есть вроде, но что-то оно тоже не работает
Увы, из коробки такого нет
оно всех кейсов не покрывает
А что в типизированных формах этого не завезли?
а нормально это работает с FormArray?)
Обсуждают сегодня