我想使用本机选择,因为它更易于访问,而不是使用mat-select。我已按照documented example的字面意思尝试开始使用
:<mat-form-field>
<select matNativeControl required>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
</mat-form-field>
但是我得到了这个,ERROR Error: mat-form-field must contain a MatFormFieldControl.
在我的模块中,我有:
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { MatButtonModule, MatTabsModule, MatSelectModule, MatCardModule, MatSlideToggleModule, MatFormFieldModule,
MatInputModule, MatProgressSpinnerModule, MatTableModule, MatTooltipModule } from '@angular/material';*/
import { MyComponent } from './my.component';
@NgModule({
imports: [
FormsModule,
BrowserModule,
MatButtonModule,
MatTabsModule,
MatSelectModule,
MatCardModule,
MatSlideToggleModule,
MatFormFieldModule,
MatInputModule,
MatProgressSpinnerModule,
MatTableModule,
MatTooltipModule
],
declarations: [
MyComponent
],
providers: []
})
export class MyModule { }
我已经搜索了此错误,一般的解决方案是添加一个缺少的模块,但是我看不到这里缺少的内容。 mat-select
不会导致错误。我开始怀疑文档是错误的还是过时的。
答案 0 :(得分:1)
您必须在select
中使用材料input
或mat-form-field
。
如果您想使用本机选择,则不能使用mat-form-field
和div
中的某些样式的简单mat-form-field
。
编辑抱歉,此解决方案工作在matNativeControl
中使用select
但是请尝试将材料更新到最新版本:
ng update @angular/material