0

为了在日期选择器的输入字段中自定义自动完成,我想禁用在您从普通角度日期选择器中跳出时完成的自动格式化。我见过这个问题,但由于技术/架构原因,隐藏输入不是我的选择。

无论哪种方式,我已经确定了问题发生的位置,但不幸的是,这并不意味着我已经找到了一种完全修复它的方法(只有我不想考虑的丑陋黑客)。

MatDatepickerInputBase类中,该_onInput方法调用各自的parseformat方法DateAdapter

这意味着我可以:

  • 覆盖我自己的 DateAdapter 中的parseand方法或format
  • 试图以某种方式阻止这些方法被调用

理想情况下,我想做第二个选项,但由于这可能需要使用 MatDatepickerInputBase 类做一些不受欢迎的恶作剧,我认为它不会发生(我什至不知道我将如何覆盖该_onInput方法,如果有的话可能,即使我可以,每次 Angular 修改 DatePicker 时,这将是一个残酷的黑客攻击)。

这将覆盖 DateAdapter 中的方法。
但是,我需要这个的用例是自定义自动完成,这意味着在用户输入某些内容后,会附加一个突出显示的自动完成字符串。不幸的是,这个自动完成的附件没有传递给该parse方法,该方法在我的关键侦听器(它是 datepicker 指令的一部分)可以修改它之前接收该值。

我宁愿根本不处理该parse方法,但由于该format方法无法访问最初传递的输入值,所以我只能在这里处理传递的日期,这至少应该是特定于语言环境的解释完整的输入值(NativeDateAdapter仅使用 en-US,而我需要 de-DE)。

有什么方法可以让我的关键听众优先于该_onInput方法吗?如果没有,有没有其他方法可以解决我缺乏知识的问题?

4

0 回答 0