如何在输入字段的 ng-bootstrap Datepicker 中检测日期选择?

新手上路,请多包涵

我们在我们的项目中使用 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 许可协议

阅读 592
2 个回答

同时,该 问题 已关闭,1.1.0 中将有一个 (dateSelect) 事件: https ://github.com/ng-bootstrap/ng-bootstrap/pull/2254

原文由 Florian Gössele 发布,翻译遵循 CC BY-SA 3.0 许可协议

<input class="form-control"
     name="dp" ngbDatepicker #d="ngbDatepicker" (blur)="d.close()"
[(ngModel)]="model"
     (select)="onDateSelected()">

这将起作用并且 onDateSelected() 每当您在日期选择器中选择一个日期时都会被调用

原文由 nitinsingh9x 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题