我有一个问题:angular / material / datepicker
。
我有一个虚拟项目,可以正确处理以下文件:
/src/app/app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatStepperModule, MatInputModule, MatButtonModule, MatNativeDateModule } from '@angular/material';
import { MatDatepickerModule } from '@angular/material/datepicker';
import { AppComponent } from './app.component';
import { StepperComponent } from './components/stepper/stepper.component';
import { DatepickerComponent } from './components/datepicker/datepicker.component';
@NgModule({
declarations: [
AppComponent,
StepperComponent,
DatepickerComponent,
],
imports: [
BrowserModule,
FormsModule,
ReactiveFormsModule,
BrowserAnimationsModule,
MatStepperModule,
MatInputModule,
MatButtonModule,
MatNativeDateModule,
MatDatepickerModule,
],
providers: [],
bootstrap: [ AppComponent ]
})
export class AppModule { }
/src/app/components/datepicker/datepicker.component.html
<mat-form-field>
<input matInput [matDatepicker]="picker" placeholder="Choose a date">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
这是我正在检查的API:
https://material.angular.io/components/datepicker/api
我想知道,为什么我在文件MatNativeDateModule
上评论了app.module.ts
的导入:在浏览器中出现错误:
ERROR Error: "MatDatepicker: No provider found for DateAdapter. You must import one of the following modules at your application root: MatNativeDateModule, MatMomentDateModule, or provide a custom implementation."
在API
部分中,他们没有提及该模块。
他们在Overview
部分提到了该模块,但没有提供太多细节。
您能帮我清除一下吗?有时候看起来很晦涩。
谢谢!
答案 0 :(得分:0)
这个想法是让开发人员可以选择它,以便其不受限制地选择所需的日期提供程序,因此他们没有在概述而不是 API 下提及它API仅用于角材料设计的核心API,可为您提供对特定材料组件的控制和可访问性。
matNativeDateModule
并不是通过解析时间来整体开发的模块,只是告诉matDatePicker
的模块,嘿,当您使用日期对象时,请使用本地javascript日期对象。也许您不想使用它,而是使用自己的日期对象或JavaScript日期库,例如momentjs。