I migrated to ionic 6 recently and now I am unable to dismiss a modal by clicking the backdrop.
I find that the click is being blocked by this one element inside the ion-modal’s shadow DOM: <div class="modal-shadow" style="opacity: 1;"></div>
In the inspector, I can solve this issue by adding display: none to the element above. However, in practice this wont work because the element isn’t accessible due to it being shadow DOM and not having a “part” property.
Any idea how I can make this work again?
Note:
I made sure that when I created the modal I added backdropDismiss: true. That should not be the problem.
I was able to get this to work by setting the width and height on the custom class. “–height: auto;” as mentioned in the solution just made my modal disappear. Originally I was adding padding to get the modal to be smaller than the screen width/height, but the modal-shadow wouldn’t allow me to dismiss when I did that.
same here on ionic6.1.13 - web and android backdropdismiss on every pixel up until the ion-modal div, but ios doesn’t dismiss even when clicking in the app corners far away from the div. Solution was to add to the general variables.scss that --height:auto; to the ion-modal general class.
Completely sure there is a best way to do so, if someone found I’d be glad to modify it.
However my use case is precise: I didn’t want to have a fixed height let’s say 60% because otherwise the backdropDismiss wouldn’t work outside of my component which has a transparent background so the user couldn’t know where to click outside of it.