所以,我在mat-form-field中使用mat-select时遇到了问题。使用mat-form-field和mat-input不是问题,我相当确定我的导入也是正确的,但是在尝试使用mat-select时我收到以下错误:
错误:md-form-field必须包含MdFormFieldControl。您是否忘记将mdInput添加到本机...
我的HTML代码如下:
<mat-form-field class="full-width">
<mat-select name="sampleType" formControlName="sampleTypeCtrl"
placeholder="Sample Type" required>
<mat-option *ngFor="let sample of samples" [value]="sample.value">
{{ sample.viewValue }}
</mat-option>
</mat-select>
</mat-form-field>
我的视图模块包含此组件并导入到我的主app.module.ts文件中,如下所示:
...
import { MatFormFieldModule, MatInputModule, MatSelectModule } from
'@angular/material';
...
@NgModule({
imports: [
...
MatInputModule,
MatFormFieldModule,
MatSelectModule,
...
],
})
export class ViewModule {}
我的主要app.module.ts文件包含ViewModule和NoConflictStyleCompatibilityMode导入,如下所示:
...
import { ViewModule } from './view/view.module';
import { NoConflictStyleCompatibilityMode } from '@angular/material';
...
@NgModule({
...
imports: [
ViewModule,
NoConflictStyleCompatibilityMode
],
...
})
export class AppModule { }
当我从mat-select周围移除mat-form-field时,错误消失了,但是我发现mat-input(使用mat-form-field)和mat-select的样式是不一致的。我正在导入MatSelectModule和MatFormFieldModule,但我收到此错误。我还更新了我的npm角度材料2,以便它具有最新和最好的,但仍然没有。我在俯瞰什么?我已经看到在最近的stackoverflows中解决了这种类型的问题,但是我已经尝试过没有运气的每个解决方案。
mat-select Not Working Properly
mat-form-field must contain a MatFormFieldControl
答案 0 :(得分:3)
答案 1 :(得分:1)
尝试将props
属性添加到嵌套的matInput
中(如错误消息所示):
mat-select
这种结构适合我。
UPD。:快速plnkr示例https://plnkr.co/edit/9Yz6xkcVMCMpRhP3Qse9
答案 2 :(得分:0)
刚刚将我的角度更新为最新版本,在这种情况下为5,它解决了问题