Значения по умолчанию Angular2 FormBuilder больше не доступны при использовании ngModel

Я заметил, что при использовании [(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)]?


person Durham Smith    schedule 23.06.2016    source источник


Ответы (1)


Из моего другого вопроса кажется, что необходимо включить инициализацию для конструктора следующим образом:

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
    });
}
person Durham Smith    schedule 25.06.2016