有没有办法让Angular2等到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,理想情况下我希望它在页面加载时显示其默认值(0.00)。
我将如何做到这一点?
修改
我注意到如果用户[(ngModel)]不再提供FormBuilder的默认值(当我尝试提交一个空白表单并记录FeeForm.value时,我得到了未定义)。这附近有吗?
答案 0 :(得分:0)
看起来你在RC1中使用了已弃用的表单,我知道这适用于RC2 +中的新表单
如果组件中有字段费用,则可以在构造函数中设置表单的初始值。
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
});
}