В методе getInternalTransfert() я хотел бы отобразить переменную svm.
Однако я получил сообщение об ошибке для следующей строки:
this.internalTransfertLines = res.TITRE.map(
...
Type '{ svm: number; }[]' is not assignable to type 'InternalTransfert[]'.
Type '{ svm: number; }' is missing the following properties from type 'InternalTransfert':
isin, stock, label, place, and 4 more.ts(2322)
ТС
export class InternalTransfertWatchComponent implements OnInit, OnDestroy {
private unsubscribe$ = new Subject < void > ();
internalTransfertLines: InternalTransfert[] = [];
constructor(private service: InternalTransfertWatchService) {}
ngOnInit(): void {}
ngOnDestroy(): void {
this.unsubscribe$.next();
this.unsubscribe$.complete();
}
getInternalTransfert(): void {
this.service.getInternalTransfert().pipe(
takeUntil(this.unsubscribe$)
).subscribe(res => {
if (res.RETURNCODE === ApiResponseCodeEnum.Ok) {
this.internalTransfertLines = res.TITRE.map(
internalTransfertLine => {
return {
svm: internalTransfertLine.SVM,
}
}
);
}
});
}
}
внутренний-transfer.response.ts
export interface InternalTransfertResponse extends ApiResponse {
TITRE: {
SVM: number;
ISIN: string;
STOCK: string;
LABEL: string;
PLACE: number;
PLACELABEL: string;
REGR: number;
REGLABEL: string;
DEVISE: string;
} [];
}
внутренний-transfer.ts
export interface InternalTransfert {
svm: number;
isin: string;
stock: string;
label: string;
place: number;
placelabel: string;
regr: number;
reglabel: string;
devise: string
}
Спасибо за вашу помощь





Сообщение об ошибке довольно ясно. Есть обязательные поля, которые вы не заполняете. В интерфейсе все поля обязательны:
export interface InternalTransfert {
svm: number;
isin: string;
stock: string;
label: string;
place: number;
placelabel: string;
regr: number;
reglabel: string;
devise: string
}
Итак, это недействительно:
this.internalTransfertLines = res.TITRE.map(
internalTransfertLine => {
return {
svm: internalTransfertLine.SVM,
}
}
);
Вы заполняете только свойство svm и не хватает всех остальных. Следовательно, сообщение об ошибке с просьбой заполнить другие поля, isin, stock и т. д.
У вас есть 2 возможности:
export interface InternalTransfert {
svm?: number;
isin?: string;
stock?: string;
label?: string;
place?: number;
placelabel?: string;
regr?: number;
reglabel?: string;
devise?: string
}
internalTransfertLines как Partial<InternalTransfert>[] :internalTransfertLines: Partial<InternalTransfert>[] = [];
Что непонятно из сообщения об ошибке? Вы включаете только svm, но все остальные свойства также необходимы.