在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)
資訊
TS
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,
}
}
);
}
});
}
}
內部轉移.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;
} [];
}
內部轉移.ts
export interface InternalTransfert {
svm: number;
isin: string;
stock: string;
label: string;
place: number;
placelabel: string;
regr: number;
reglabel: string;
devise: string
}
謝謝你的幫助
uj5u.com熱心網友回復:
錯誤資訊非常清楚。有一些您沒有填寫的必填欄位。在界面中,所有欄位都是必需的:
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
你有兩種可能性:
- 如果這些欄位不是真正必需的,請將它們宣告為可選,如下所示:
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>[] = [];
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/451832.html
