PeterStaev / NativeScript-Drop-Down

A NativeScript DropDown widget.
Apache License 2.0
105 stars 65 forks source link

Dropdown crashes if wrapped in an *ngIf and a shadow #236

Closed Burgov closed 3 years ago

Burgov commented 4 years ago

See https://play.nativescript.org/?template=play-ng&id=Mi3cAe. The app gives an error message (see error logs in playground) the moment you hit "show dropdown". If you remove shadow="4" from the parent element, everything is fine. I'm not sure if this is a dropdown bug or a shadow bug, but the code crashes in dropdown code, hence I'm creating the issue in this project.

The error is ERROR: ERROR TypeError: null is not an object (evaluating 'this._listPicker.delegate = this._dropDownDelegate')

PeterStaev commented 4 years ago

@Burgov , from what I see this is a problem with the shadow plugin. Not entirely sure how it works, but from what I see once the shadow is applied this causes incorrect events - i.e. the Loaded event is fired two times, but seems the initNativeView of the drop down is not triggered. So the widget is not initialized. Looking at the shadow plugin - it hasnt been updated since NS 4.0 and there have been lots of changes in the last couple of versions in NS.

I would suggest you post the issue on the shadow repo.

greatbody commented 4 years ago

See https://play.nativescript.org/?template=play-ng&id=Mi3cAe. The app gives an error message (see error logs in playground) the moment you hit "show dropdown". If you remove shadow="4" from the parent element, everything is fine. I'm not sure if this is a dropdown bug or a shadow bug, but the code crashes in dropdown code, hence I'm creating the issue in this project.

The error is ERROR: ERROR TypeError: null is not an object (evaluating 'this._listPicker.delegate = this._dropDownDelegate')

You may try to debug and see which is null and hence know who caused this error.

PeterStaev commented 3 years ago

No further response so closing this one for now. In case you still have problems, please provide more details.