Open rschlimmer opened 4 weeks ago
I'm having a similar issue, since upgrading to v18.0.2, my project is getting stuck in infinite update loops in certain scenarios.
I've recreated the issue here: https://stackblitz.com/edit/stackblitz-starters-bznejv?file=src%2Fapp%2Fapp.component.html
I'm having same issue after upgrading to v18.0.2. As of now downgrading to v18.0.0 to keep the app running.
same issue for me, had to downgrade like @simfyz mentioned.
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