问题标签 [mat-datepicker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 如何禁用 MatDatePicker 的自动解析/格式化?
为了在日期选择器的输入字段中自定义自动完成,我想禁用在您从普通角度日期选择器中跳出时完成的自动格式化。我见过这个问题,但由于技术/架构原因,隐藏输入不是我的选择。
无论哪种方式,我已经确定了问题发生的位置,但不幸的是,这并不意味着我已经找到了一种完全修复它的方法(只有我不想考虑的丑陋黑客)。
在MatDatepickerInputBase类中,该_onInput
方法调用各自的parse
和format
方法DateAdapter
。
这意味着我可以:
- 覆盖我自己的 DateAdapter 中的
parse
and方法或format
- 试图以某种方式阻止这些方法被调用
理想情况下,我想做第二个选项,但由于这可能需要使用 MatDatepickerInputBase 类做一些不受欢迎的恶作剧,我认为它不会发生(我什至不知道我将如何覆盖该_onInput
方法,如果有的话可能,即使我可以,每次 Angular 修改 DatePicker 时,这将是一个残酷的黑客攻击)。
这将覆盖 DateAdapter 中的方法。
但是,我需要这个的用例是自定义自动完成,这意味着在用户输入某些内容后,会附加一个突出显示的自动完成字符串。不幸的是,这个自动完成的附件没有传递给该parse
方法,该方法在我的关键侦听器(它是 datepicker 指令的一部分)可以修改它之前接收该值。
我宁愿根本不处理该parse
方法,但由于该format
方法无法访问最初传递的输入值,所以我只能在这里处理传递的日期,这至少应该是特定于语言环境的解释完整的输入值(NativeDateAdapter仅使用 en-US,而我需要 de-DE)。
有什么方法可以让我的关键听众优先于该_onInput
方法吗?如果没有,有没有其他方法可以解决我缺乏知识的问题?
angular - matDatePicker 在我们清除输入时隐藏在角度形式的描述中
我在角度形式上使用 matDatePicker。这是它的formlyFieldConfig
现在的问题是,在我的 UI 中,当我清除输入时,描述会隐藏。我想让描述始终显示,即使用户点击其他地方也是如此。我该如何实施?
angular - Angular matdatepicker 手动输入未按预期工作
团队,
我正在尝试在 angular mat datepicker 中手动输入日期。使用我当前的代码,我可以在其中输入数字 1,并且在日期选择器中将其设为 2021 年 1 月 1 日。不允许在那里输入整个日期
那是因为我在 Value 中有方法,所以它正在采用该方法。所以我正在尝试的是我有两个日期选择器,如果当用户单击日期选择器中的关闭按钮时,我必须显示另一个日期。
HTML 代码
TS代码: -
这是我在点击关闭按钮之前看到的日期选择器。
angular - 有没有办法在 Angular 中使用 mat-calendar 设置年视图?
我想使用 mat-calendar 来显示年视图,因为它在这里完成https://openbase.com/js/angular-calendar-year-view(它不再维护,我不能在我的项目中使用它)
我考虑过几个月的迭代,只添加 12 个 mat-calendar 日期选择器,但我想这可能是容易出错的解决方案。有没有其他方法可以做到这一点?
angular - 有没有办法在没有输入框的情况下使用角度材料的日期范围?
目前我正在使用 mat-date-range-input 进行日期范围选择
但问题是我不想要输入框,只需要一个图标来启用日期范围选择
angular - Mat Date Picker 只允许特定值
我们有一个带有日期选择器的垫子表单字段,如下所示。当页面打开时,我们在此字段中设置较旧的记录值。我们也有限制,只能从今天开始接受新值。
问题是当我们展示它时,它是当天保存的。如果用户不更改它,它将保持不变。但如果用户更改它,它将替换旧版本。问题是,它没有通过验证,因为我们设置了比今天更早的日期。
我们如何允许特定日期?我们不希望允许较旧的日期,除了一个。
angular - 当我使用 de(german) 作为日期格式时,Mat 日期选择器用日期更改月份的值,
constructor( private authService: AuthenticationService, private router: Router, private dateAdapter: DateAdapter<Date> ) { this.dateAdapter.setLocale('de'); }
如果我添加此代码并检查我的日期选择器,它实际上显示格式正确的数据,例如 12.11.1997 但是当我们手动输入日期时,它会随日期更改月份