Как управлять с Angular2 формой, у которой есть неопределенное количество полей?Angular2 form ControlGroup, у которых есть неопределенное количество элементов управления
В моем случае мне нужно создать, где пользователь может добавить и удалить какой-либо блок. Это похоже на адресную книгу, где пользователь может добавить один или десять адресов. И каждый адрес имел некоторые поля, такие как улица, номер улицы и так далее.
Мой выглядеть следующим образом:
let address = fb.group({
street: fb.control(null, Validators.required),
streetNumber fb.control(null, Validators.required)
});
this.userForm = fb.group({
name: fb.control(null, Validators.required),
firstName: fb.control(null, Validators.required),
address: fb.group({
1: address
})
});
Я действительно не знаю, как справиться с этим в шаблоне.
Я стараюсь писать некоторые вещи, как, что в шаблоне, но, очевидно, она не работает ...
<form [ngFormModel]="userForm">
<input type="text" ngControl="name" #name="ngForm"/>
<input type="text" ngControl="firstName" #firstName="ngForm"/>
<div *ngFor="#address of userForm.controls['address'].controls">
<input type="text" ngControl="street" #street="ngForm"/>
<input type="text" ngControl="streetNumber" #streetNumber="ngForm"/>
</div>
РЕДАКТИРОВАНИЕ
Я сделал Plunker для лучшего объяснения http://plnkr.co/edit/ffYe1479WnxYOQrbxwLF?p=preview
Что означает «явно не работает»? –
Шаблон, который я написал, не выполняет эту работу, потому что это неправильный способ написать его. Угловая ошибка повышения, потому что он не находит контрольную «улицу» в контрольной группе «userForm». – Waldo
Не похоже, что вам нужно '# street =" ngForm ". Что делать, если вы удалите его? –