我正在使用Angular 2 beta.9制作表格 - 遵循指南,使用ngControl制作模型驱动的样式表单,而不是ngModel . 输入标签使用ngControl和捕获数据 . 选择标签显示选项并单击选择,但不将该数据捕获到ngControl中 . 我尝试了很多变化,比如裸选择标签,材料设计选择,验证,无验证等 . 输入日志,但没有选择数据记录到ngControl . select标签应该改变什么?
HTML - 国家和州是相同的结构
<form [ngFormModel]="residenceForm" (ngSubmit)="onSubmit(residenceForm.value)" #apartmentRentalForm="ngForm">
<md-input-container class="md-block" flex-gt-sm="25">
<label for="country">COUNTRY</label>
<select [(value)]="residenceForm.country" #country="ngForm" [ngFormControl]="residenceForm.controls['country']">
<option *ngFor="#country of countries" [value]="country.name">
{{country.name}}
</option>
</select>
</md-input-container>
角度2分量
export class PostApartment4Rent {
submitted = false;
residenceForm: ControlGroup;
constructor(fb: FormBuilder) {
this.residenceForm = fb.group({
'country': ['', Validators.required],
'state': ['']
});
onSubmit(value: any): void {
console.log('you submitted: ', value); //inputs show; no select data shows in log
}
} //end of export class
1 回答
我通过在FormBuilder文档中对此进行模式化来实现此目的 . 基本上匹配
ControlGroup
的ngControls
的绑定 .这是完整的Plunker example .