Angular 6 个动态表单问题 [第 2 部分]

Angular 6 Dynamic Forms issue [part 2]

根据 的建议,我已经让我的应用程序打印出一个字段,但只有一个为空且出现错误

ERROR Error: Cannot find control with name: 'field0'

我已将我的代码放在这里 https://stackblitz.com/edit/angular-mzu1ab

我正在按索引生成字段名称,因为我获取的数据不包含名称字段。

发生这种情况是因为您动态创建了表单控件名称,但并未真正将它们绑定到您的问题。

与其选择像 field + i 这样的任意名称,不如绑定一个特定的值。

在这个 stackblitz 中,我将表单控件名称绑定到标签,正如您所看到的,它非常有效。

<input [formControlName]="question.label"
questsions.forEach((e, i) => {
  if (e.type === 'string' || e.type === 'text' || e.type === 'list') {
    group[e.label] = new FormControl(e.value, Validators.required);