【发布时间】:2020-07-08 15:04:22
【问题描述】:
我想从 API 获取数组的数组到表单中,但也无法更新该数据。
我试试这个方法。 从 API 中获取一个值并作为补丁值插入到表单中,并希望迭代以形成一个数组。
this.quizForm.patchValue({
name: name,
order: this.position,
type: type,
path: null,
quizTime: quizTime,
quizInstruction: quizInstruction,
questionList:questionList.forEach(element => {
console.log(element);
})
})
收到数据错误:-
当我从 API 获取数据时,它只显示表单中数组的第一个对象。控制台.log(问题列表); console.log(this.quizForm.value.questionList);
回复:-
测验形式:-
createQuizForm() {
this.quizForm = this.fb.group({
name: ['', Validators.required],
type: ['quiz'],
path: [null],
order: this.position,
quizTime: ['', [Validators.required, Validators.pattern('^[1-9][0-9]*$')]],
quizInstruction: ['', Validators.required],
questionList: this.fb.array([this.initQuestions()]),
})
}
initQuestions(): FormGroup {
return this.fb.group({
questionText: ['', Validators.required],
optionList: this.fb.array([this.initOptions()])
})
}
initOptions(): FormGroup {
return this.fb.group({
optionText: ['', Validators.required],
isAnswer: ['true', Validators.required]
})
}
【问题讨论】:
-
你为什么要尝试遍历“已修补”问题列表?
-
正如@Batajus 所说,您不需要迭代。只需将获取的列表分配给您的数组
-
你可以在这里添加你的回复
-
当我从 API 获取数据时,它只显示表单中数组的第一个对象。
-
请参考更新
标签: angular typescript angular8