をアレイ状に値を設定するために、私はこのような配列に値を設定したい:どの角度
this.form.controls[name].setValue('name')
が、私はのインデックスを渡した場合でも、私は配列形式で働いています、これは動作していませんespecific配列形式
例えばこれは私のフォームの配列であると私がやりたい機能に
user: FormGroup;
users: FormGroup;
constructor(private fb: FormBuilder) {}
ngOnInit() {
this.user = this.buildGroup();
this.users = this.fb.group({
data: this.fb.array([this.user])
});
}
get fData() {
return this.users.get('data') as FormArray;
}
buildGroup() {
return this.fb.group({
name: ['', [Validators.required, Validators.minLength(2)]],
account: this.fb.group({
email: ['', Validators.required],
confirm: ['', Validators.required]
})
});
}
setValue(index) {
this.fData[index].controls[name].setValue('name')
}
onSubmit() {
this.fData.push(this.buildGroup());
const {valid, value} = this.fData;
console.log(valid, value);
}
を値を設定することですが、this.fData [インデックス] .controls [名前] .setValue( '名前')これは動作していません
私の以前の答えをスクラップします。この問題は、[配列をsetValueに渡す](https://angular.io/api/forms/FormArray#example-1)ではない可能性が高いです。 – Tom
インデックスを特定の配列形式に渡すべきではありませんか?私はこれをtryngしていますが、これは動作していませんsetValue(index){ this.fData.setValue(['Name']); } fomコントロールの名前に 'name'という名前の値を指定する必要があります。 – LLaza
これを試してください:this.fData [index] .controls ['name']。setValue(['name']) ' – Tom