Angular FormGroup внутри FormArray опускает указанный ключ c - PullRequest
0 голосов
/ 22 апреля 2020

Я работаю в веб-приложении Angular 8.

У меня есть FormGroup, которая содержит некоторые элементы управления и ключ с именем params, который является FormArray. Этот FormArray содержит FormGroups.

Проблема в том, что я создаю эти FormGroups (params) с объектом js, и они теряют ключ name. Это очень странно.

Я опубликую полезный код:

Здесь я создаю предварительно загруженную форму с данными из бэкэнда:

public buildPreLoadedForm() {
  this.form = this.formBuilder.group({
      ...this.currentFormula,
      params: this.formBuilder.array([]),
      formulaResult: []
  });

  this.updateFormulaParams();
}

public updateFormulaParams() {
  for (const param of this.currentFormula.params) {
    this.formParams.push(this.createFormulaParam(param));
  }
}

public createFormulaParam(formulaParam: FormulaParam) {
  return this.formBuilder.group({...formulaParam});
}

Параметр внутри «currentFormula» выглядит следующим образом:

 const param: FormulaParam = {
   ID: 0,
   CreatedAt: null,
   UpdatedAt: null,
   DeletedAt: null,
   name: 'val' + num,
   type: 'number'
 };

Я добавляю новые параметры внутри формы, делая так:

(this.form.get('params') as FormArray).push(this.createFormulaParam(param));

Создаемый параметр выглядит следующим образом:

enter image description here

Но внутри формы (после ее нажатия) я получаю:

param object just created

Я теряю свойство name! И это не имеет смысла для меня.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...