我想設置值數組這樣的數組形式值:如何設置與角
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(索引){ this.fData.setValue(['Name']); }錯誤說明必須爲名稱'name'提供一個fom控件的值 – LLaza
試試這個:this.fData [index] .controls ['name']。setValue(['name'])' – Tom