我在FormGroup
实例中具有表单,并且在提交后,我应该将填充值设置为由接口方案创建的对象。但是当我直接尝试这样做时,我陷入了错误:
错误 src / app / modules / objects / object-form / object-form-components / object-information / object-information.component.ts(97,9): 错误TS2322:键入'{title:any; type_id:任何;依据:任何; 问题:任何; material_id:任何; ' 不是 可分配给“ ObjectFormComponent”类型。对象文字只能 指定已知属性,并且类型中不存在“标题” “ ObjectFormComponent”。
const controls = this.informationForm.controls;
export interface ObjectCreateRequest {
title: string;
type_id: string;
problems: string[];
material_id: string;
}
const request: ObjectCreateRequest = {
title: controls.title.value,
type_id: controls.type.value.id,
problems: controls.problems.value.map(item => item.id),
material_id: (controls.material.value ? controls.material.value.id : null)
};
将所有类型为any
的控件组成,这对接口无效。
我该怎么做?
答案 0 :(得分:2)
如果您仔细阅读错误消息,您的错误似乎就很清楚了。具体来说,'title' does not exist in type 'ObjectFormComponent'
。请注意,该错误不是描述您发布的代码-请查看错误中的文件名和行号以查找相关行。
您在某处有一个对象定义了5个属性:title
,type_id
,basises
,problems
和material_id
。您使用您的类型告诉TypeScript在某个地方期望ObjectFormComponent
类型的对象,但是给了该对象。问题是,您的对象有一个名为title
的字段,在ObjectFormComponent
的定义中不存在。
这有意义吗?