CuppaLabs / angular2-multiselect-dropdown

Angular 2 Dropdown Multiselect
https://cuppalabs.github.io/angular2-multiselect-dropdown
MIT License
298 stars 256 forks source link

ERROR Error: ASSERTION ERROR: Stored value should never be NO_CHANGE. [Expected=> [object Object] !== [object Object] <=Actual] #462

Closed maximaexchen closed 3 years ago

maximaexchen commented 4 years ago

Hi.

Got the error with the new Angular Ivy after update

"@angular/core": "~9.0.0", "angular2-multiselect-dropdown": "^4.6.3",

ERROR Error: ASSERTION ERROR: Stored value should never be NO_CHANGE. [Expected=> [object Object] !== [object Object] <=Actual] at throwError (core.js:1311) at assertNotSame (core.js:1275) at getBinding (core.js:19619) at pureFunction3Internal (core.js:36020) at Module.ɵɵpipeBind3 (core.js:36195) at AngularMultiSelect_div_24_Template (angular2-multiselect-dropdown.js:623) at executeTemplate (core.js:11841) at refreshView (core.js:11688) at refreshDynamicEmbeddedViews (core.js:13053) at refreshView (core.js:11711)

g-hamilton commented 4 years ago

Same here. Also due upgrading to Angular 9 this morning.

jeroenmaas commented 4 years ago

Hi,

I've encountered the same problem. I've attempted to reproduce it in stackblitz but was unable for some reason. Though I’ve made a small repo that reproduces the problem: https://github.com/jeroenmaas/attempt-reproduce-angular9-issue

Two things I’ve noticed:

  1. It doesn’t seem to occur with groupBy option enabled.
  2. It only seems to occur when angular routing is enabled. (At least I think that’s the reason stackblitz example didn’t produce the error with almost same source -> https://stackblitz.com/edit/angular-fgsutz)

    Here is my stacktrace:

    vendor.js:12022 ERROR Error: ASSERTION ERROR: Stored value should never be NO_CHANGE. [Expected=> [object Object] !== [object Object] <=Actual]
    at throwError (vendor.js:8387)
    at assertNotSame (vendor.js:8351)
    at getBinding (vendor.js:24573)
    at pureFunction3Internal (vendor.js:39218)
    at Module.ɵɵpipeBind3 (vendor.js:39393)
    at AngularMultiSelect_div_22_Template (vendor.js:71230)
    at executeTemplate (vendor.js:17244)
    at refreshView (vendor.js:17091)
    at refreshDynamicEmbeddedViews (vendor.js:18456)
    at refreshView (vendor.js:17114)
uttahb commented 4 years ago

Hi, Same issue here as well

marco-vogt commented 4 years ago

Same here. It only appears when groupBy is disabled.

rarestoma commented 4 years ago

Hi.

I have the same problem. groupBy works only when the singleSelection is false. Any idea how to make it work for singleSelection: true ?

Thank you

Jaripekkaf commented 4 years ago

Same problem after updating to latest angular 9:

ERROR Error: ASSERTION ERROR: Stored value should never be NO_CHANGE. [Expected=> [object Object] !== [object Object] <=Actual] at throwError (core.js:1311) at assertNotSame (core.js:1275) at getBinding (core.js:19709) at pureFunction3Internal (core.js:36146) at Module.ɵɵpipeBind3 (core.js:36321) at AngularMultiSelect_div_22_Template (angular2-multiselect-dropdown.js:543) at executeTemplate (core.js:11930) at refreshView (core.js:11777) at refreshDynamicEmbeddedViews (core.js:13142) at refreshView (core.js:11800)

rarestoma commented 4 years ago

Hi,

I found a solution for the error when singleSelection is true. I added lazyLoading: true and now it works.

uttahb commented 4 years ago

Hi,

I found a solution for the error when singleSelection is true. I added lazyLoading: true and now it works.

That worked for me, Thanks.

pratik2408 commented 4 years ago

Yes, by adding lazyLoading: true, in multiselect settings and now it works.

dannetproject commented 4 years ago

I have tried adding lazyLoading: true for singleSelection: true but still got the error

Yorer commented 4 years ago

Same here. Lazy loading helps or using groupBy temporarily, but need another fix here for long term.

BacuAlexandru commented 4 years ago

Having the same issue, and although lazyLoading solves the problem, it creates a new one, when I try to filter the option ins the select it doesn't show anything

DanielFTwum commented 4 years ago

lazyLoading: true for singleSelection: true also did not work for me. Especially dropdown data from from a web service.

02jaysenghani commented 4 years ago

Hi,

I found a solution for the error when singleSelection is true. I added lazyLoading: true and now it works.

It works. Thank You.

jpriesten commented 4 years ago

Hi,

I found a solution for the error when singleSelection is true. I added lazyLoading: true and now it works.

Works for me too, thank you

shivswami01 commented 4 years ago

Hi,

I found a solution for the error when singleSelection is true. I added lazyLoading: true and now it work

This is correct but what about if singleSelection is false then search did not work.

CuppaLabs commented 3 years ago

Working as expected with latest version v5.0.0. Hence closing.

akashmalpani commented 3 years ago

V5.0.4 or V5.0.0 not working with angular 8. Getting error on ng serve

Date: 2021-07-21T11:29:23.954Z - Hash: 2454f0fde4cfd52e503e - Time: 9287ms

ERROR in Attempted to get members of a non-class: "class MyException { constructor(status, body) { this.status = status; this.body = body; } }"

"angular2-multiselect-dropdown": "^5.0.4", "@angular/common": "~8.2.0", "@angular/compiler": "~8.2.0", "@angular/core": "~8.2.0", "@angular/forms": "~8.2.0",

While using "angular2-multiselect-dropdown": "^4.6.10",

Without groupBy filed in setting it is not working.

core.js:4002 ERROR Error: ASSERTION ERROR: Stored value should never be NO_CHANGE. at throwError (core.js:937) at assertNotSame (core.js:911) at getBinding (core.js:13339) at ɵɵpureFunction3 (core.js:23307) at Module.ɵɵpipeBind3 (core.js:23579) at AngularMultiSelect_div_27_Template (angular2-multiselect-dropdown.js:630) at executeTemplate (core.js:7901) at renderEmbeddedTemplate (core.js:7846) at refreshDynamicEmbeddedViews (core.js:8787) at refreshDescendantViews (core.js:7582) defaultErrorLogger @ core.js:4002 push../node_modules/@angular/core/ivy_ngcc__/fesm5/core.js.ErrorHandler.handleError @ core.js:4050 handleError @ core.js:9085 detectChangesInternal @ core.js:8949 push../node_modules/@angular/core/ivy_ngcc/fesm5/core.js.ViewRef.detectChanges @ core.js:10236 push../node_modules/angular2-multiselect-dropdown/__ivy_ngcc/fesm5/angular2-multiselect-dropdown.js.AngularMultiSelect.onFilterChange @ angular2-multiselect-dropdown.js:4531 (anonymous) @ angular2-multiselect-dropdown.js:3844 push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.tryOrUnsub @ Subscriber.js:194 push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:132 push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:76 push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:53 push../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47 push../node_modules/angular2-multiselect-dropdown/ivy_ngcc/fesm5/angular2-multiselect-dropdown.js.DataService.setData @ angular2-multiselect-dropdown.js:1354 push../node_modules/angular2-multiselect-dropdown/__ivy_ngcc/fesm5/angular2-multiselect-dropdown.js.ListFilterPipe.transform @ angular2-multiselect-dropdown.js:1419 ɵɵpureFunction3 @ core.js:23306 ɵɵpipeBind3 @ core.js:23579 AngularMultiSelect_div_27_Template @ angular2-multiselect-dropdown.js:630 executeTemplate @ core.js:7901 renderEmbeddedTemplate @ core.js:7846 refreshDynamicEmbeddedViews @ core.js:8787 refreshDescendantViews @ core.js:7582 checkView @ core.js:9015 componentRefresh @ core.js:8808 refreshChildComponents @ core.js:7676 refreshDescendantViews @ core.js:7601 checkView @ core.js:9015 componentRefresh @ core.js:8808 refreshChildComponents @ core.js:7676 refreshDescendantViews @ core.js:7601 checkView @ core.js:9015 componentRefresh @ core.js:8808 refreshChildComponents @ core.js:7676 refreshDescendantViews @ core.js:7601 renderComponentOrTemplate @ core.js:7881 tickRootContext @ core.js:8935 detectChangesInRootView @ core.js:8963 push../node_modules/@angular/core/ivy_ngcc__/fesm5/core.js.RootViewRef.detectChanges @ core.js:10273 push../node_modules/@angular/core/ivy_ngcc/fesm5/core.js.ApplicationRef.tick @ core.js:27128 push../node_modules/@angular/core/__ivy_ngcc/fesm5/core.js.ApplicationRef._loadComponent @ core.js:27183 push../node_modules/@angular/core/ivy_ngcc__/fesm5/core.js.ApplicationRef.bootstrap @ core.js:27100 (anonymous) @ core.js:26812 push../node_modules/@angular/core/ivy_ngcc/fesm5/core.js.PlatformRef._moduleDoBootstrap @ core.js:26812 (anonymous) @ core.js:26780 push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391 onInvoke @ core.js:26266 push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:390 push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150 (anonymous) @ zone.js:910 push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:423 onInvokeTask @ core.js:26257 push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:422 push../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:195 drainMicroTaskQueue @ zone.js:601 push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:502 invokeTask @ zone.js:1693 globalZoneAwareCallback @ zone.js:1730 Show 26 more frames core.js:4002 ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: '300px'. Current value: ''. at throwErrorIfNoChangesMode (core.js:5413) at bindingUpdated (core.js:13354) at bind (core.js:13422) at Module.ɵɵproperty (core.js:13407) at AngularMultiSelect_div_27_Template (angular2-multiselect-dropdown.js:630) at executeTemplate (core.js:7901) at renderEmbeddedTemplate (core.js:7846) at refreshDynamicEmbeddedViews (core.js:8787) at refreshDescendantViews (core.js:7582) at checkView (core.js:9015) defaultErrorLogger @ core.js:4002 push../node_modules/@angular/core/ivy_ngcc/fesm5/core.js.ErrorHandler.handleError @ core.js:4050 (anonymous) @ core.js:27156 push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391 push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150 push../node_modules/@angular/core/__ivy_ngcc/fesm5/core.js.NgZone.runOutsideAngular @ core.js:26225 push../node_modules/@angular/core/ivy_ngcc__/fesm5/core.js.ApplicationRef.tick @ core.js:27156 push../node_modules/@angular/core/ivy_ngcc/fesm5/core.js.ApplicationRef._loadComponent @ core.js:27183 push../node_modules/@angular/core/ivy_ngcc/fesm5/core.js.ApplicationRef.bootstrap @ core.js:27100 (anonymous) @ core.js:26812 push../node_modules/@angular/core/__ivy_ngcc/fesm5/core.js.PlatformRef._moduleDoBootstrap @ core.js:26812 (anonymous) @ core.js:26780 push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391 onInvoke @ core.js:26266 push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:390 push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150 (anonymous) @ zone.js:910 push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:423 onInvokeTask @ core.js:26257 push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:422 push../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:195 drainMicroTaskQueue @ zone.js:601 push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:502 invokeTask @ zone.js:1693 globalZoneAwareCallback @ zone.js:1730 core.js:25646 Angular is running in the development mode. Call enableProdMode() to enable the production mode. core.js:4002 ERROR Error: ASSERTION ERROR: Stored value should never be NO_CHANGE. at throwError (core.js:937) at assertNotSame (core.js:911) at getBinding (core.js:13339) at ɵɵpureFunction3 (core.js:23307) at Module.ɵɵpipeBind3 (core.js:23579) at AngularMultiSelect_div_27_Template (angular2-multiselect-dropdown.js:630) at executeTemplate (core.js:7901) at renderEmbeddedTemplate (core.js:7846) at refreshDynamicEmbeddedViews (core.js:8787) at refreshDescendantViews (core.js:7582)