ネストされたドロップダウンを追加しようとしています。 「都市を追加」をクリックすると、別のドロップダウンが作成されます。私はドロップダウンなしで成功しました。私はTRを持って角度4のネストされたドロップダウン
E:/angular/nestedForm2/src/app/order-form/order-form.component.ts (21,39): Property 'push' does not exist on type 'AbstractControl'.
E:/angular/nestedForm2/src/app/order-form/order-form.component.ts (23,42): Property 'removeAt' does not exist on type 'AbstractControl'.
:怒鳴る
..component.html
<form [formGroup]="form" (ngSubmit)="onSubmit()">
<select formControlName="cities">
<option *ngFor="let city of myCities; let i=index" [value]='itemname' >
{{ city }}
</option>
</select>
<br>
<button>Submit</button>
<button (click)="addCity()">Add City</button>
<button (click)="remove(i)">Remove</button>
</form>
component.ts怒鳴るようなエラーを表示
form = new FormGroup({
cities: new FormControl([null]),
});
myCities = ['Dhaka','Dubai','Munich'];
get cities(): FormArray { return this.form.get('cities') as FormArray; }
addCity() { this.form.get('cities').push(new FormControl())}
remove(index){ this.form.get('cities').removeAt(index) }
を参照してください。いろいろなやり方で答えられましたが、それでも解決策は見つかりませんでした。助けてもらえますか?
はあなたラザールありがとうございました。どのようにキャストできますか教えてください。 – Tanvir
私は答えにコードスニペットを提供しました。私がそこに示したように、あなたは 'as'を使ってキャストします。 –
私はこのaddCity(){(this.form.get( 'cities')をFormArrayとして).push(新しいFormControl())}&remove(index){(this.form.get( 'cities')as FormArray).removeAt(index)}を返します。しかし、エラー "ERROR TypeError:this.form.get(...)。pushは関数ではありません"を見つけてください。 – Tanvir