我在Angular Material遇到了一些麻烦,我尝试了很多解决方案,但没有一个能够解决问题 . 这就是我想要做的:
我正在使用Angular Material with Reactive Forms来制作一个 register
表单,一切都很好,直到我添加一个 mat-checkbox
组件 . 这是 error
我得到:
错误错误:mat-form-field必须包含MatFormFieldControl .
这是我的代码:
HTML :
<mat-form-field>
<mat-checkbox formControlName="check">
Check me!
</mat-checkbox>
</mat-form-field>
COMPONENT :
this.registerForm = this.formBuilder.group({
name: ['', Validators.required ],
email: ['', Validators.required],
check: ['', Validators.required ]
});
MODULE :
import { ReactiveFormsModule } from '@angular/forms';
import { RegisterFormComponent } from './register-form.component';
import { MatCheckboxModule } from '@angular/material';
import { MatInputModule } from '@angular/material/input';
import { MatFormFieldModule } from '@angular/material/form-field';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@NgModule({
imports: [
ReactiveFormsModule,
MatInputModule,
MatFormFieldModule,
MatCheckboxModule,
BrowserAnimationsModule
],
declarations: [
RegisterFormComponent
]
})
export class RegisterFormModule { }
我导入了模块,以便Angular Material工作正常,实现了表单控件名称,我仍然得到了相同的 error
. 我试图在没有mat-form-field容器的情况下将 mat-checkbox
包含在我的html中并且它完美无缺,但是我确实需要使用表单字段,因为我想添加一些mat-error组件来显示验证消息 .
有谁知道我错过了什么?
2 回答
该错误意味着表单字段无法在其中找到兼容的材料输入 .
请勿在
<mat-form-field>
内使用<mat-checkbox>
.资料来源:Official docs
在这种情况下,为什么角度材料网站在与mat-radio-group相同的链接中显示此示例与formControlName一起使用 .