私は動的フォームを作成しています。 Field
には値のリストがあります。各値は文字列で表されます。Angular2入力が変わると動的入力フィールドのフォーカスが失われます
export class Field{
name: string;
values: string[] = [];
fieldType: string;
constructor(fieldType: string) {this.fieldType = fieldType;}
}
フィールドに新しい値を追加する機能がコンポーネントにあります。
addValue(field){
field.values.push("");
}
値とボタンは、このように私のHTMLに表示されます。
<div id="dropdown-values" *ngFor="let value of field.values; let j=index">
<input type="text" class="form-control" [(ngModel)]="field.values[j]" [name]="'value' + j + '.' + i"/><br/>
</div>
<div class="text-center">
<a href="javascript:void(0);" (click)="addValue(field)"><i class="fa fa-plus-circle" aria-hidden="true"></i></a>
</div>
値の入力にテキストを書き込むと、入力はフォーカスを失います。 フィールドに多くの値を追加し、値入力に文字を書き込むと、入力はフォーカスを失い、文字はすべての入力に書き込まれます。
私の場合は、プリミティブの配列に対して反復処理をしていませんでしたが、オブジェクトの配列(実際はFormArray)は同じ問題を抱えています。 でも、私は@ AJT_82の提案に続き、それは問題を解決しました – Thisisalexis
@AlexisJoséBravoLloveraうれしいことを聞いてうれしくて助けになりました!私たちが実際にオブジェクトを扱っているので、これと同じ理由で、formarrayで何か起きているようですが、その理由はわかりません。https://stackoverflow.com/questions/44445676/add-to-反応の初期形態のアレイ角 – Alex