Как добавить новую строку в существующий formArray? Angular - PullRequest
0 голосов
/ 19 июня 2020

В этой форме мне нужно добавить новую строку и удалить строку? Как это сделать

  editCity() {   
    this.form = this.fo'',))),
      recepieType:
  } 

 createForm() {

this.form = this.formBuilder.group({
});

}

Мне нужно добавить функцию, которая добавляет новую строку или удаляет существующую строку.

Ответы [ 2 ]

0 голосов
/ 19 июня 2020

Недавно я реализовал более простой и аккуратный код:

HTML:

<div>
    <input *ngFor="let field of fieldArray; let i = index;" type="text" [(ngModel)]="fieldArray[i]"  >
</div>

TS:

fieldArray: Array<string> = [];
newAttribute: string = "";


addMoreRows(type:string){

        this.fieldArray.push(this.newAttribute);
        this.newAttribute = "";


    }

*** Ваш formArray - fieldArray Вот. Возможно, это не тот код, который вам нужен, но, конечно, вы можете взять на себя инициативу отсюда, если это будет полезно.

Я не использовал конструктор форм et c. прочее. newAttribute - это просто пустой заполнитель-заполнитель.

0 голосов
/ 19 июня 2020

Вот метод добавления ингредиента:

addIngredients() {
    let ingredientsCtrl = <FormArray> this.form.controls['ingredients']
    ingredientsCtrl.push(this.fb.group({ing: [null]}));
}

Вы можете удалить ингредиент (formGorup), используя индекс массива объекта

Вот метод удаления ингредиента:

deleteIngredients(index: number) {
    let ingredientsCtrl = <FormArray> this.form.controls['ingredients']
    ingredientsCtrl.removeAt(index);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...