Angular NgZorro Datepicker 无法使用 Moment

Angular NgZorro Datepicker can't use Moment

我正在努力解决我遇到的这个问题。

我有一个带有 Moment 对象的 Angular v9 模型,我使用 NgZorro 作为 UI。 当我将 Moment 对象与 DatePicker 绑定时,我遇到了这个问题:

Error: The input date type is not supported ("Date" is now recommended) at new CandyDate (candy-date.ts:63)

有什么我想念的吗?或者我应该使用 Date 来绑定那个对象,遗憾的是,重写了很多模型?

以下是我为测试创建的 Stackbliz:

https://stackblitz.com/edit/ng-zorro-antd-start-rrqepw

感谢任何可以(并且愿意)帮助我的人。

抱歉,我想不出一个不改变类型就改变类型的好方法。但是,您可以很容易地通过调用格式将其转换为日期。

 let now = moment.utc().format();

 this.editForm.patchValue({ 
  id: 1,
  desc: 'Awesome description',
  date: now.format(),
});

阅读 nz-date-picker 的文档,ngModel 接受“日期”对象。在您的示例中,您使用的是“moment.Moment”对象(使用 utc() 方法创建)。即使字符串部分“错误”,但可能由于 nzFormat 或类似原因而有效。

恕我直言,最好的方法是将 Moment 对象转换为日期:

this.editForm.patchValue({ 
  id: 1, 
  desc: 'Awesome description',
  date: now.toDate() // create a Date object
});