Angular6导入Material模块后仍报matDatepicker不是input已知属性
Angular 6.x集成Material日期选择器报错解决方案
- 补充缺失的依赖模块
你使用的mat-form-field容器、matInput指令分别属于独立的Material模块,同时Angular Material强制依赖动画模块,当前你均未导入,需要先补充导入:
// 模块顶部导入新增内容 import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; import { MatNativeDateModule, MatDatepickerModule } from '@angular/material';
同时更新@NgModule的imports配置:
@NgModule({ declarations: [ HomeComponent ], imports: [ BrowserAnimationsModule, // 必选动画依赖 MatFormFieldModule, // 表单字段容器模块 MatInputModule, // input指令对应模块 MatDatepickerModule, MatNativeDateModule, FormsModule, ReactiveFormsModule ] })
- 检查模块作用域配置
如果你在根模块AppModule中导入上述模块,要确认HomeComponent已声明在AppModule的declarations数组内;如果HomeComponent归属于独立的特性模块,需要将上述Material模块导入到对应特性模块的imports数组中,或通过共享模块统一导出后引用。 - 校验版本兼容性
Angular CLI 6.2.9必须匹配6.x版本的Angular Material,若当前安装的Material版本≥7.0.0也会出现指令识别报错,可执行npm list @angular/material查看版本,版本不匹配时重装对应版本即可。 - 组件类不需要额外配置
不需要在export class代码段补充额外内容,当前模板的逻辑本身没有问题,模块配置正确后即可正常运行。
内容的提问来源于stack exchange,提问作者Benjamin Salerno
相关产品推荐
相关产品推荐

