我正在試着讓Angular 2和Material 2與FormGroup
和<md-radio>
一起工作。但是,當我把它連接起來,就像我會用一個標準的<md-input>
一樣引發錯誤。例如Angular 2,Material 2 Radio,Formgroups
component.html
<form [formGroup]="myFormGroup (ngSubmit)="doSomething()">
<md-input #birthday formControlName="birthday" placeholder="Birthday"></md-input>
<md-radio-group formControlName="gender" align="end">
<md-radio-button value="m">Male</md-radio-button>
<md-radio-button value="f">Female</md-radio-button>
</md-radio-group>
</form>
component.ts
export class Component {
myFormGroup: FormGroup;
constructor(formBuilder: FormBuilder) {
this.myFormGroup = formBuilder.group({
birthday: [this.myModel.birthday, Validators.required],
gender: [this.myModel.gender, Validators.required]
});
}
}
該錯誤消息這給了我是:
ngModel不能用於註冊與父母形成控件formGroup指令。請嘗試使用 formGroup的合作伙伴指令「formControlName」。例如:
<div [formGroup]="myGroup"> <input formControlName="firstName"> </div> In your class: this.myGroup = new FormGroup({ firstName: new FormControl() }); Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions: Example: <div [formGroup]="myGroup"> <input formControlName="firstName"> <input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}"> </div>
即使我改變formgroup到:
this.myFormGroup = formBuilder.group({
birthday: [this.myModel.birthday, Validators.required],
gender: new FormControl()
});
我仍然收到了同樣的錯誤。
如何在Angular 2中使用材料2 <md-radio>
組件和FormGroup?任何幫助,將不勝感激。
非常感謝。
JT
實際上,您實際上在混合使用兩種不同的方法,請觀看此YouTube視頻,其中來自Angular Material團隊的Kara Erickson解釋了有關表單的所有信息https://youtu.be/xYv9lsrV0s4 ... This is說,我遇到類似的問題,@ dries247的答案不能解決它。 – PatrickS