为了在日期选择器的输入字段中自定义自动完成,我想禁用在您从普通角度日期选择器中跳出时完成的自动格式化。我见过这个问题,但由于技术/架构原因,隐藏输入不是我的选择。
无论哪种方式,我已经确定了问题发生的位置,但不幸的是,这并不意味着我已经找到了一种完全修复它的方法(只有我不想考虑的丑陋黑客)。
在MatDatepickerInputBase类中,该_onInput
方法调用各自的parse
和format
方法DateAdapter
。
这意味着我可以:
- 覆盖我自己的 DateAdapter 中的
parse
and方法或format
- 试图以某种方式阻止这些方法被调用
理想情况下,我想做第二个选项,但由于这可能需要使用 MatDatepickerInputBase 类做一些不受欢迎的恶作剧,我认为它不会发生(我什至不知道我将如何覆盖该_onInput
方法,如果有的话可能,即使我可以,每次 Angular 修改 DatePicker 时,这将是一个残酷的黑客攻击)。
这将覆盖 DateAdapter 中的方法。
但是,我需要这个的用例是自定义自动完成,这意味着在用户输入某些内容后,会附加一个突出显示的自动完成字符串。不幸的是,这个自动完成的附件没有传递给该parse
方法,该方法在我的关键侦听器(它是 datepicker 指令的一部分)可以修改它之前接收该值。
我宁愿根本不处理该parse
方法,但由于该format
方法无法访问最初传递的输入值,所以我只能在这里处理传递的日期,这至少应该是特定于语言环境的解释完整的输入值(NativeDateAdapter仅使用 en-US,而我需要 de-DE)。
有什么方法可以让我的关键听众优先于该_onInput
方法吗?如果没有,有没有其他方法可以解决我缺乏知识的问题?