Отправить вход с массивом в угловых 5

В нормальном HTML мы можем сделать это:

<input name="xyz[]" value="Lorem" />
<input name="xyz[]" value="ipsum"  />
<input name="xyz[]" value="dolor" />
<input name="xyz[]" value="sit" />
<input name="xyz[]" value="amet" />

и в результате массив отправляется на сервер.
как я могу сделать это в угловых 5?

это не работает так же, как и не работает в ngModel.

3 ответа

Решение

Я использовал угловую форму группы, и это было решение этой проблемы:

<div ngModelGroup="xyz">
    <input name="1" ngModel />
    <input name="2" ngModel />
    <input name="3" ngModel />
</div>

Я никогда не использовал его, но вы не можете использовать индекс?

<input type="text" [(ngModel)]="xyz[0]" />
<input type="text" [(ngModel)]="xyz[1]" />
<input type="text" [(ngModel)]="xyz[2]" />
<input type="text" [(ngModel)]="xyz[3]" />

Я видел это в выпуске этого github.

Поскольку у вас есть длина в вашем массиве, вы можете использовать реактивные формы с FormArray или использовать формы на основе шаблонов. Поскольку вы заявили, что используете последний, вот как вы должны это сделать:

<ng-container *ngFor="let item of xyz; let i = index; trackBy: myCustomTrackBy">
  <input type="text" [(ngModel)]="xyz[i]">
</ng-container>

В вашей машинописи:

myCustomTrackBy(index, item) { return index; }
Другие вопросы по тегам