【发布时间】:2023-03-06 08:49:01
【问题描述】:
我们在项目中使用ng-bootstrap Datepicker as Directive:
<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>内。但是,在搜索可以调用onDateSelected() 的ng-bootstrap docs 时,我找不到某种dateSelected-Event:
<input class="form-control"
name="dp" ngbDatepicker #d="ngbDatepicker" (blur)="d.close(); onDateSelected()"
/* missing -> */ (dateSelected)="onDateSelected()" /* <- */ [(ngModel)]="model">
有什么我想念的吗?或者也许是另一种实现这种行为的方式?我想不出是唯一一个有这个要求的人......
【问题讨论】:
标签: html angular datepicker ng-bootstrap