角材料2-MatDatePicker错误-'必须导入MatNativeDateModule / MatMomentDateModule'

nic*_*ook 3 datepicker momentjs angular-material2 angular

我试图在使用matInput datepicker组件的组件控制器中使用momentjs格式化日期,但是当我尝试加载存在这些页面的页面时,在控制台中出现以下错误:

错误:MatDatepicker:未找到DateAdapter的提供程序。您必须在应用程序根目录下导入以下模块之一:MatNativeDateModule,MatMomentDateModule或提供自定义实现。

问题是我尝试在我试图引用该moment()方法的应用程序模块,主要应用程序组件和子组件中包括此内容,但仍然出现错误。我也尝试过使用MatNativeDateModule获得相同的结果。

这是我要导入的模块依赖项:

import { MatMomentDateModule } from '@angular/material-moment-adapter';
Run Code Online (Sandbox Code Playgroud)

Datepicker元素:

<input matInput [matDatepicker]="invoiceDate" [max]="maxDate" name="date" placeholder="DD/MM/YYYY" formControlName="date">
Run Code Online (Sandbox Code Playgroud)

Ale*_*lla 15

您是否已将其添加到模块的导入中?

import { MatMomentDateModule } from "@angular/material-moment-adapter";

@NgModule({
  /* etc. */
  imports: [ BrowserModule, /* etc. */, MatMomentDateModule, /* etc. */ ],
  /* etc. */
}
Run Code Online (Sandbox Code Playgroud)

我已经安装了

npm i @angular/material-moment-adapter --save
Run Code Online (Sandbox Code Playgroud)

一切正常。


lil*_*lva 7

角 8,9

import { MatDatepickerModule } from '@angular/material/datepicker';
import { MatNativeDateModule } from '@angular/material/core';
Run Code Online (Sandbox Code Playgroud)

Angular 7 及以下

import { MatDatepickerModule, MatNativeDateModule } from '@angular/material';
Run Code Online (Sandbox Code Playgroud)

您需要在导入下导入 MatDatepickerModule 和 MatNativeDateModule 并在提供者下添加 MatDatepickerModule

imports: [
    MatDatepickerModule,
    MatNativeDateModule 
  ],
  providers: [  
    MatDatepickerModule,
    MatNativeDateModule  
  ],
Run Code Online (Sandbox Code Playgroud)


小智 5

我对 MatDatepickerModule 和 MatNativeDateModule 有类似的错误,它说

ERROR 错误:“MatDatepicker:未找到 DateAdapter 的提供程序。您必须在应用程序根目录中导入以下模块之一:MatNativeDateModule、MatMomentDateModule,或提供自定义实现。”

我通过做解决了这个问题

import { MatDatepickerModule, MatNativeDateModule } from '@angular/material';
@NgModule({
    imports:[ MatDatepickerModule, 
MatNativeDateModule],
      providers: [MatNativeDateModule, MatDatepickerModule],

})
Run Code Online (Sandbox Code Playgroud)


Ham*_*ada 5

添加

import { MatMomentDateModule } from "@angular/material-moment-adapter";
Run Code Online (Sandbox Code Playgroud)

并安装

npm i @angular/material-moment-adapter --save
Run Code Online (Sandbox Code Playgroud)

并且依赖性也

npm i moment --save
Run Code Online (Sandbox Code Playgroud)