Angular 6 Form字段数据将在首次加载表单页面时清除

时间:2019-01-29 06:08:21

标签: angular angular6 crud angular-services

处理角反应形式时,我有一个名为xyzFrom的主要形式,发生以下情况:

  1. 页面加载,用户应该输入相应字段的值。
  2. 然后是提交。
  3. 然后,我转到主菜单页面,找到一个搜索页面,在该页面中我可以找到数据表中的一组值,并且还有一个收藏夹图标,因此单击该收藏夹图标将打开主表格,即xyzFrom并根据该特定ID上填充的值加载了值。

这里的问题是因为我已经在ngOnInit上调用了服务,所以即使实际上调用了任何服务,值甚至是在第一次加载时就加载了。 我该如何解决,以便每次打开新表单时都可以打开一个清晰的新表单?

这是component.ts文件

 ngOnInit(): void {


    this.choosePolicyType = this.policyTypes1[0];


    this.vehicleDetailsForm = this.fb.group({
        first_name: [, [Validators.required, Validators.minLength(3)]],

    })

this.getPolicyInfo();
} getPolicyInfo() {
this.policyService.getPolicyInfo().subscribe(
    (policyB: PolicyData) => this.displayPolicyB(policyB),

    (error: any) => this.errorMessage = <any>error

);} 

这是我的服务

getPolicyData(): Observable<PolicyData[]> {
return this.http.get<PolicyData[]>(this.serviceUrl);

}

2 个答案:

答案 0 :(得分:1)

您只需调用ngOnInit

xyzFrom.reset(xyzFrom.value);

答案 1 :(得分:0)

重置表单的最简单方法是-

this.formName.reset();

有关此处阅读的表格的更多信息

https://angular.io/docs/ts/latest/guide/forms.html

form.reset()方法仅适用于formControls重置调用