首页 > 解决方案 > 使用德语语言环境的 MatDatepicker 无法正常工作。也许是错误?

问题描述

我正在尝试通过使用 Angular Reactive Forms 的指令来格式化日期,但使用德语语言环境,MatDatepicker 似乎无法按预期工作。

在我的DateDirective我建立了以下方法:

   public ngOnInit(): void {
      const control = this.ngControl.control;
      if (control) {
         control.setValue(Parser.parseDate(control.value, this.locale), { emitEvent: false });
         control.valueChanges.subscribe(newDate => {
            newDate = Parser.parseDate(newDate, this.locale);
            control.setValue(newDate, { emitEvent: false });
         });
      }
   }

如果我从日期选择器中选择一个日期,它工作正常。例如,我在日期选择器上选择了 2021 年 3 月 19 日,并且在表单字段中显示了19.3.2021. 但是如果我直接在字段中写入相同的值,则newDate值为null。我注意到当我在输入字段中写入日期时,日期选择器将其解析为mm.dd.yyyy. 有没有人知道如何摆脱这个错误/问题而不必覆盖NativeDateAdapter

谢谢!

标签: angulartypescriptangular-material

解决方案


推荐阅读