为什么选项选择无功形式角度不起作用?

时间:2018-10-15 12:54:51

标签: angular typescript angular-reactive-forms

我正在构建角度为5的反应形式,我试图从列表中添加select with option,但该列表未出现在html页面中。 我看到了一些类似的问题,并尝试了建议的答案,但没有成功,我在做什么错了?

ts:

firstQuestionnaire: FormGroup;
yearsCurrentHome: string [] = ['1','2','3','4','5+'];
default: string = '1';

 constructor(private formBuilder: FormBuilder) { 
    this.firstQuestionnaire=this.createFormGroup();
    this.firstQuestionnaire.controls['yearsInCurrentHome'].setValue(this.default, {onlySelf: true});
  }
createFormGroup() {
    return new FormGroup({
      yearsInCurrentHome: new FormControl(null)
 });
  }

HTML:

<div class="question">
      <label>YEARS: </label>
      <select formControlName="yearsInCurrentHome">
        <option *ngFor="let year of yearsCurrentHome" [ngValue]="year"> {{year}}
        </option>
      </select>
    </div>

谢谢

2 个答案:

答案 0 :(得分:0)

您的实施可能存在多个问题。您可能需要执行以下操作:

  1. ReactiveFormsModule添加到imports的{​​{1}}数组中(如果尚未添加的话)。
  2. 在尚未标记的@NgModule标签上加上form
  3. 在控制台上检查错误。
  4. 尝试将您的实现与this Sample StackBlitz参考中的实现进行比较。

答案 1 :(得分:0)

您需要在html中添加表单标签,如下所示:

 <form [formGroup]="firstQuestionnaire">
        <select formControlName="yearsInCurrentHome">
            <option *ngFor="let year of yearsCurrentHome" [ngValue]="year"> {{year}}
            </option>
          </select>
    </form>