ionic-team / ionic-team/ionic-framework

bug: dismiss callback from useIonModal is not called after first dismiss

Abierto
#28,964 4 comentarios 0 reacciones 0 asignados Ver en GitHub
package: react type: bug
Lenguaje dominante
TypeScript
Estrellas
52.7k
Forks
13.3k
Merge medio
1 d 15 h
PR fusionados (30 d)
51

Descripción

### Prerequisites

- [X] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#creating-an-issue).
- [X] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [X] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.

### Ionic Framework Version

v7.x

### Current Behavior

When the `canDismiss` callback returns `false` the overlay layer is dismissed and the user can interact again with the modal. If the user tries to close it again the `canDismiss` callback callback is no longer called.

Screenshot 2024-02-02 at 17 27 57

Screenshot 2024-02-02 at 17 23 00

The Modal is opened in this way:

` present({ canDismiss: canDismiss})`

### Expected Behavior

If the user does not wish to close the modal, canDismiss must return false. But the user should be allowed to close the modal at a later time.

### Steps to Reproduce

1. Open an IonModal using the hook `useIonModal`
2. Provide a canDismiss function which returns `resolve(false)` if the user doesn't want to close the modal
4. Close the modal using the `dimiss`function
5. Refuse to close the modal and the overlay layer will disappear
6. Call the `dismiss` again
7. Nothing happens

### Code Reproduction URL

_No response_

### Ionic Info

I have an error running it linked to the macOS:
TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))

### Additional Information

_No response_

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.