-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Description
Prerequisites
- I have read the Contributing Guidelines.
- I agree to follow the Code of Conduct.
- I have searched for existing issues that already report this problem, without success.
Ionic Framework Version
v8.x
Current Behavior
When attaching the canDismiss callback function to a modal, the function is correctly triggered when using the dismiss() function.
However, if we click on the modal backdrop to dismiss it, the canDismiss function is triggered twice.
This issue might be related to using the standalone API with provideIonicAngular(). In the documentation example which uses the module-based approach, this problem does not occur.
Additionally, this issue does not occur when dismissing the modal with the ESC key.
bug.mp4
Expected Behavior
The canDismiss callback function should only be triggered once, regardless of how the modal is dismissed (e.g., using dismiss(), clicking the backdrop, or pressing the ESC key).
The behavior should be consistent across all methods of dismissing the modal.
Steps to Reproduce
- Set up a project using the standalone API with
provideIonicAngular(). - Attach a canDismiss callback function to a ion-modal.
- Open the modal in large screen and attempt to dismiss it by click the backdrop:
- Observe that canDismiss is triggered twice.
- Use the
ESCkey: Observe that canDismiss is triggered only once (correct behavior). - Call the
dismiss()function programmatically: Observe that canDismiss is triggered only once (correct behavior).
Code Reproduction URL
https://stackblitz.com/edit/angular-2ftmlj?file=src%2Fapp%2Fexample.component.ts
Ionic Info
Ionic:
Ionic CLI : 7.2.0
Utility:
cordova-res : not installed globally
native-run : not installed globally
System:
NodeJS : v22.5.1
npm : 10.8.2
OS : Windows 10
Additional Information
No response