javascript - 在 Angular 6 中使用 patchValue 时发送数据格式错误

标签 javascript angular typescript angular6

我在 Angular 6 中创建编辑表单。

当我加载页面时,它使用以下代码设置值:

this.editFG.patchValue({
  productTitle: [data.productTitle],
  productName: [data.productName],
  color: [data.color],
  price: [data.price],
  gurantyMonth: [data.gurantyMonth],
  gurantyCompanyName: [data.gurantyCompanyName],
  catId: [data.catId],
  brandId: [data.brandId]
})

当我需要从服务器发送数据时,它会发送以下格式的数据:

color: ["999"]
gurantyCompanyName: ["999"]
gurantyMonth: ["999"]
price: [999]
productImageName: "999.jpg"
productName: ["999"]
productTitle: ["999"]

服务器向我显示错误:

Bad Request

现在我需要在没有这个[]的情况下发送数据,我需要像这样发送:productTitle:“999”

有什么问题吗?我该如何解决这个问题?

最佳答案

由于 FormGroup 上的控件名称和数据上的键名称相同,因此这样做就足够了:

import { Component } from '@angular/core';
import { FormGroup, FormBuilder } from '@angular/forms';

import { DataService } from './data.service';

@Component({...})
export class AppComponent  {
  editFG: FormGroup;

  constructor(
    private fb: FormBuilder,
    private dataService: DataService
  ) {}

  ngOnInit() {

    this.editFG = this.fb.group({
      productTitle:[null],
      productName:[null],
      color:[null],
      price:[null],
      gurantyMonth:[null],
      gurantyCompanyName:[null],
      catId:[null],
      brandId:[null]
    });

    this.dataService.getData()
      .subscribe(data => {
        this.editFG.patchValue(data);
        console.log('Here\'s the form value', this.editFG.value);
      });
  }

}
<小时/>

Here's a Working Sample StackBlitz for your ref.

关于javascript - 在 Angular 6 中使用 patchValue 时发送数据格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54607203/

相关文章:

angular - 无法绑定(bind)到 'videoId',因为它不是 'youtube-player' 的已知属性

javascript - Jsoup DOM应用onload javascript?

javascript - 你可以全局改变 onChange 吗?

angular - 在 Handsontable Cells 中渲染 Angular 组件

Angular 2(更改)事件未触发

angular - 什么是 common.chunk.js?

reactjs - 如何扩展 React 函数组件 Prop 类型?

typescript - Typescript 推断的对象字面量类型扩展是如何工作的?

javascript - Regexp .test 总是返回 false

javascript - 如何为每个追加的 div 元素设置 onchange 函数