Добавляем и поля в реактивной форме Angular 2+ - PullRequest
0 голосов
/ 08 мая 2018

Я использую реактивные формы, и я хотел бы добавить / удалить поле своей формы, когда нажимаю на кнопку, как в этом примере (это прототип моего желания):

Mock

То есть, когда я нажимаю кнопку +, появляется другой выбор с тем же полем. Когда я нажму на -, поле будет удалено

1 Ответ

0 голосов
/ 08 мая 2018

С https://www.udemy.com/the-complete-guide-to-angular-2/learn/v4/overview

Вы можете следовать той же схеме

form.html

<div formArrayName="hobbies">
          <h4>Your Hobbies</h4>
          <button
            class="btn btn-default"
            type="button"
            (click)="onAddHobby()">Add Hobby</button>
          <div
            class="form-group"
            *ngFor="let hobbyControl of signupForm.get('hobbies').controls; let i = index">
            <input type="text" class="form-control" [formControlName]="i">
          </div>
        </div>

form.ts

this.signupForm = new FormGroup({
      'userData': new FormGroup({
        'username': new FormControl(null, [Validators.required, this.forbiddenNames.bind(this)]),
        'email': new FormControl(null, [Validators.required, Validators.email], this.forbiddenEmails)
      }),
      'gender': new FormControl('male'),
      'hobbies': new FormArray([])
    });

onAddHobby() {
    const control = new FormControl(null, Validators.required);
    (<FormArray>this.signupForm.get('hobbies')).push(control);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...