我们在我们的项目中使用 ng-bootstrap Datepicker 作为指令:
<input class="form-control"
name="dp" ngbDatepicker #d="ngbDatepicker" (blur)="d.close()" [(ngModel)]="model"
(ngModelChange)="onDateSelected()">
当前 的行为是 onDateSelected()
在选择日期选择器中的日期时以及每次对输入字段进行更改时调用。
所需 的行为是每当用户单击日期选择器中的日期或将光标移出 <input>
onDateSelected()
即模糊)时调用 —。
我的方法是将 (ngModelChange)
更改为 (blur)
:
<input class="form-control"
name="dp" ngbDatepicker #d="ngbDatepicker" (blur)="d.close(); onDateSelected()"
[(ngModel)]="model">
但这导致 onDateSelected()
没有 被调用,当从日期选择器中选择一个日期时 - 这有点有意义,因为光标不在 <input>
内。但是,在搜索我可以调用的 ng-bootstrap 文档 时,我找不到某种 dateSelected
事件 onDateSelected()
:
<input class="form-control"
name="dp" ngbDatepicker #d="ngbDatepicker" (blur)="d.close(); onDateSelected()"
/* missing -> */ (dateSelected)="onDateSelected()" /* <- */ [(ngModel)]="model">
有什么我想念的吗?或者也许另一种方式来实现这种行为?我想不出是唯一一个有这个要求的人……
原文由 Florian Gössele 发布,翻译遵循 CC BY-SA 4.0 许可协议
同时,该 问题 已关闭,1.1.0 中将有一个 (dateSelect) 事件: https ://github.com/ng-bootstrap/ng-bootstrap/pull/2254