即使从日历中选择日期,如何保持 mat-datepicker 日历打开?

Posted

技术标签:

【中文标题】即使从日历中选择日期,如何保持 mat-datepicker 日历打开?【英文标题】:How to keep mat-datepicker calender open, even after selecting a date from calendar? 【发布时间】:2018-07-13 08:37:32 【问题描述】:

我想让mat-datepicker 在特定的 div 中保持打开状态。我使用了opened=true 属性,但在选择日期后它会关闭。

【问题讨论】:

如果你能提供一个可能有帮助的 stackblitz 示例 你可以查看这个。stackblitz.com/edit/… 您找到解决问题的方法了吗? 【参考方案1】:

这应该适合你:

将此添加到您的input

(click)="_openCalendar(picker)"
#keepOpen

这个给你的mat-datepicker

(closed)="_openCalendar(picker)"

这是你的打字稿:

@ViewChild('keepOpen') _input: ElementRef;

_openCalendar(picker: MatDatepicker<Date>) 
  picker.open();

别忘了导入ViewChildElementRef

这是我在 Stackblitz 上的工作示例

【讨论】:

感谢您的回复。它保持日历打开 :) 但是当我滚动页面时,日历在特定的 DIV 中没有固定,它正在上下移动。我们可以修复它特别是 div 像输入框和其他东西是固定的吗? 再次...如果你能提供一个关于 stackblitz 的示例,可能会让任何人更容易提供帮助 我认为您正在寻找 display: fix 而不是 block(在 css 中)。这将阻止日历留在视图中。 这行得通吗?就我而言,当我选择一个日期时,日历会关闭然后打开,所以看起来很奇怪。【参考方案2】:

在 Datepicker 中使用关闭事件并使其强制打开。 工作示例: https://stackblitz.com/edit/angular-ysspzm-ge2r2y

【讨论】:

以上是关于即使从日历中选择日期,如何保持 mat-datepicker 日历打开?的主要内容,如果未能解决你的问题,请参考以下文章

显示日历以在java中选择日期

日期时间日历:在单个输入字段中选择日期范围

Swift FSCalendar 在表格视图的日历显示事件中选择日期

Koyami 日历未正确显示未来日期

从数据库中选择日期,但在相同数据的情况下仅显示一个[重复]

如何从日期时间列中选择日期?