angular - Angular Material:检查用户是否在没有进行任何选择的情况下单击了 Datepicker 外部
问题描述
如果用户在 Material Angular 日期选择器外部单击,输出事件是什么?
- 想知道用户点击 Datepicker 的具体时间,
- 然后 没有进行任何新的选择,或者没有重新选择已经输入的日期
- 并点击?(因此关闭它)。
Closed Stream 事件不是确切的答案,因为用户可以点击日期选择。
解决方案
您可以存储在变量中
waitClose:boolean
然后,您可以使用事件 (dateChange) 将变量设置为 false 和 (opened) 将变量设置为 true。
(close)="waitClose && close()" 使函数 close() 仅在您单击外部时发生
<mat-form-field>
<mat-label>Choose a date</mat-label>
<input matInput [matDatepicker]="picker"
(dateChange)="waitClose=false" >
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker (closed)="waitClose && close()"
(opened)="waitClose=true">
</mat-datepicker>
</mat-form-field>
推荐阅读
- c# - ASP.NET Core 中控制器路由中的方括号
- ruby-on-rails - Ruby on Rails:呈现模板时遇到语法错误:
- javascript - 如何让我的鼠标悬停不覆盖我的鼠标点击?
- c++ - c ++正则表达式不会匹配空格
- electron - nodeIntegration true 被忽略了吗?
- assembly - 使用简单的 jb 条件跳转运行汇编程序时出错
- twilio - Twiml 丢弃语音,在 GATHER 中循环输入 SAY 动词
- jquery - 点击事件在移动设备上不起作用,但在浏览器中起作用
- generics - Kotlin 中的可选泛型参数
- bash - 如何在 for 循环中合并条件以根据文件日期创建文件夹名称