Tenho uma classe base com várias extensões parecidas com esta:
export interface ProjectOnePagerDTO {
Widgets: IOnePagerWidget[];
Id: string;
}
export interface IOnePagerWidget extends GridsterItem {
Type: OnePagerWidgetType;
}
export interface OnePagerWidgetTypePicture extends IOnePagerWidget {
ProjectLogo: string;
}
export interface OnePagerWidgetTypeProjectDescription extends IOnePagerWidget {
Text: string;
}
Cada extensão, por exemplo, OnePagerWidgetTypePicture, tem seu próprio componente. No modelo, eu faço um loop pela propriedade Widgets do ProjectOnePagerDTO e passo cada widget para seu componente. O componente para OnePagerWidgetTypePicture se parece com isso
export class OpwProjectPictureComponent {
@Input() widget: OnePagerWidgetTypePicture;
}
Agora estou recebendo o seguinte erro: Property 'ProjectLogo' is missing in type 'IOnePagerWidget' but required in type 'OnePagerWidgetTypePicture'
.
O que estou esquecendo? Tenho que mudar o tipo @Input e fazer cast dentro do componente?