You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The provided StackBlitz renders two bsDatepicker that illustrate different initial model values. Both of their ngModelChange callback functions are immediately called without user interaction as seen in the console log. Additionally, the value provided by the event is strictly equal to the original model value despite being notified of a change. Lastly, clearing a datepicker that is currently assigned to a Date value triggers two change events; one notifying of the change to undefined and a second which re-notifies of the change to undefined.
This is a new issue since 18.0.0 of ngx-bootstrap. I believe the behavior change may have been introduced as an unintended side-effect of the fix for issue #6640 (pull-request #6641).
Versions of ngx-bootstrap, Angular, and Bootstrap:
The datepicker ControlValueAccessor implementation should invoke the callback function passed to registerOnChange only when changed by the component via user interaction.
Registers a callback function that is called when the control's value changes in the UI.
Bug description:
The datepicker triggers the change event callback handler (e.g.
ngModelChange
) during component initialization.Plunker/StackBlitz that reproduces the issue:
https://stackblitz.com/edit/1hchts-ei6y7y?file=src%2Fapp%2Fapp.component.ts
The provided StackBlitz renders two
bsDatepicker
that illustrate different initial model values. Both of theirngModelChange
callback functions are immediately called without user interaction as seen in the console log. Additionally, the value provided by the event is strictly equal to the original model value despite being notified of a change. Lastly, clearing a datepicker that is currently assigned to aDate
value triggers two change events; one notifying of the change toundefined
and a second which re-notifies of the change toundefined
.This is a new issue since 18.0.0 of
ngx-bootstrap
. I believe the behavior change may have been introduced as an unintended side-effect of the fix for issue #6640 (pull-request #6641).Versions of ngx-bootstrap, Angular, and Bootstrap:
ngx-bootstrap: 18.0.2
Angular: 18.1.4
Bootstrap:
Build system: Angular CLI, System.js, webpack, starter seed:
Expected behavior
The datepicker
ControlValueAccessor
implementation should invoke the callback function passed toregisterOnChange
only when changed by the component via user interaction.https://angular.dev/api/forms/ControlValueAccessor#registerOnChange
The text was updated successfully, but these errors were encountered: