尝试使用moment.js的rangePicker选项实现Angular Material v10日期选择器但当我把矩和rangePicker结合使用时,它会给我这个错误。
Error: date.getFullYear is not a function
当我尝试选择第二个日期matEndDate
时会发生此错误
修改后的Google Stacklitz示例显示错误:
https://stackblitz.com/edit/angular-imb7gg?file=src/app/datepicker-moment-example.ts
范围日期选择器使用了DateAdapter
错误的范围策略。
为了修复它,您应该在上提供MAT_DATE_RANGE_SELECTION_STRATEGY
令牌,该令牌与您提供自定义DateAdapter
:的级别相同
import {
MAT_DATE_RANGE_SELECTION_STRATEGY,
DefaultMatCalendarRangeStrategy
} from '@angular/material/datepicker';
...
providers: [
{ provide: MAT_DATE_RANGE_SELECTION_STRATEGY, useClass: DefaultMatCalendarRangeStrategy},
{ provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE]},
....
它确保DefaultMatCalendarRangeStrategy
类将获得MomentDateAdapter作为DateAdapter
实现,而不是NativeDateAdapter
叉式堆垛机