使用ngModel时,Angular2 FormBuilder的默认值不再可用

时间:2016-06-23 13:06:40

标签: angular angular2-forms

我注意到在使用[(ngModel)]时,我无法再利用FormBuilder提供的默认值。

目前我的表格中有以下内容

<form (ngSubmit)="submitFees()" [ngFormModel]="FeeForm">
    <div class="form-group row">
      <div class="col-sm-12">
        <input type="number" id="Fees" class="form-control"
        placeholder="Fee" required
       [ngFormControl]="FeeForm.controls['ContentFee']"
        [(ngModel)]="Fee">
      </div>
     Fee: {{postFee*1.2| number:'1.2-2'}}
  </div>
</form>

并在我的构造函数中:

constructor(){
    let fb = new FormBuilder();
    this.FeeForm = fb.group({
        ContentFee: ['0', Validators.required]
    });
}

这为NaN提供了{{postFee}} 当我提交表单并console.log(FeeForm.value)时,我得到ContentFee:undefined。但是,如果我删除[(ngModel)]所有按预期工作。

我如何才能使用[(ngModel)] 默认值?

1 个答案:

答案 0 :(得分:1)

From my other question似乎需要的是在构造函数中包含这样的初始化:

constructor(){
    this.Fee = 0 // This will show up as the default value 
    let fb = new FormBuilder();
    this.FeeForm = fb.group({
        ContentFee: ['0', Validators.required] // Value not used
    });
}