javascript - Angular Material 10 范围 datepicker 和 moment.js 错误 : date. getFullYear 不是函数

标签 javascript angular angular-material momentjs

尝试使用带有 moment.js 的 rangePicker 选项实现 Angular Material v10 datepicker
但是当我将 moment 与 rangePicker 结合使用时,它会给我这个错误。Error: date.getFullYear is not a function当我尝试选择第二个日期时发生此错误 matEndDate修改后的 Google Stackblitz 示例显示错误:
https://stackblitz.com/edit/angular-imb7gg?file=src/app/datepicker-moment-example.ts

最佳答案

范围日期选择器使用错误的范围策略 DateAdapter .
为了修复它,您应该提供 MAT_DATE_RANGE_SELECTION_STRATEGY 上的 token 同级您在哪里提供自定义 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 Forked Stackblitz

关于javascript - Angular Material 10 范围 datepicker 和 moment.js 错误 : date. getFullYear 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63614121/

相关文章:

angular - 带有辅助按钮的mat-nav-list

css - md-card-image 溢出 :hidden + max-height kills 100% width

angular-material - Angular Material 中的样式 mat-radio-button

javascript - 烦人的是 this.refresh() 不是 Firefox 中的函数

javascript - 使用 C/Vala 编写的 GTK 3 应用程序的动态和静态脚本

javascript - 创建组件代替点击事件

javascript - 将自定义 none npm js 文件包含到 angular 2 中

typescript - 如何在来自不同文件的 Angular 2 组件中使用 javascript 函数

javascript - jQuery 对话框中的 jQuery 元素在 ajax 调用后停止工作

javascript - 点击功能有问题