Guest User

Untitled

a guest
Jan 18th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. <button type="button" (click)="onAdd()">Add</button>
  2. <hr>
  3.  
  4. <form [formGroup]="addressForm">
  5. <div formArrayName="addresses"
  6. *ngFor="let address of addressForm.get('addresses').controls; let i = index;">
  7. <div [formGroupName]="i">
  8. <input formControlName="address1" placeholder="Address 1">
  9. <input formControlName="address2" placeholder="Address 2">
  10. <input formControlName="city" placeholder="City">
  11. <input formControlName="state" placeholder="State">
  12. <input formControlName="zip" placeholder="Zip">
  13. <button (click)="onDelete(i)">Delete</button>
  14. </div>
  15. <hr>
  16. </div>
  17. </form>
  18.  
  19. constructor(private fb: FormBuilder) {}
  20.  
  21. ngOnInit() {
  22. const addressForms = this.data.map(address => this.createAddressForm(address));
  23.  
  24. this.addressForm = this.fb.group({
  25. addresses: this.fb.array(addressForms)
  26. });
  27. }
  28.  
  29. createAddressForm(address?: any) {
  30. return this.fb.group({
  31. address1: address ? address.address1 : '',
  32. address2: address ? address.address2 : '',
  33. city: address ? address.city : '',
  34. state: address ? address.state : '',
  35. zip: address ? address.zip : ''
  36. });
  37. }
  38.  
  39. onAdd() {
  40. const addresses = this.addressForm.get('addresses') as FormArray;
  41. addresses.push(this.createAddressForm());
  42. }
  43.  
  44. onDelete(index: number) {
  45. const addresses = this.addressForm.get('addresses') as FormArray;
  46. addresses.removeAt(index);
  47. }
Add Comment
Please, Sign In to add comment