更新角度6中的反应形式数据

时间:2018-12-14 12:35:10

标签: angular forms

无法在我的Reactive表单上以我的角度6执行更新操作。目前,我获取数据并根据客户ID显示在编辑页面中。但是,当我单击提交操作时,旧数据没有任何更改。即使我也没有在控制台中收到任何错误消息。 这是我的customer.ts代码,用于更新表单数据。

onSubmit() {
this._customerService.updateCustomer(this.editForm.value)
  .pipe(first())
  .subscribe(
    data => {
      this.router.navigate(['list']);
    },
    error => {
      alert(error);
    });
}

这是customer.service.ts的代码

updateCustomer(customer: Customer) {
let body = {
  "name": customer.name,
  "email": customer.email,
  "primaryPhone": customer.primaryPhone,
  "alternatePhone": customer.alternatePhone,
  "address1": customer.address1,
  "address2": customer.address2,
  "address3": customer.address3,
  "city": customer.city,
  "state": customer.state,
  "country": customer.country,
  "zip": customer.zip,
};
return this.http.put(this._global.baseUrl + '/Customer/UpdateCustomer/' + customer.customerId, body, this._global.httpOptions).catch(this.handleErrorObservable);
 }

1 个答案:

答案 0 :(得分:0)

给出问题的信息很少,只是在疯狂地猜测,但是您是否正确设置了html表单?

例如

<form [formGroup]='editForm' (ngSubmit)='submit()'>
  <mat-form-field>
    <input matInput formControlName='name' />
  </mat-form-field>

  <button>Submit</button>
</form>

该按钮必须位于<form></form>标签内,ngSubmit需要调用submit()函数,等等。

(还有许多其他方法可以正确设置html表单,但要指出的是,表单需要正确设置)