Durch die Pop-in-Navigation wird der Dialog nicht geschlossen, sondern das übergeordnete Widget wird eingeblendet
Posted: 03 Jan 2025, 17:36
Ich drücke einen Dialog und platziere eine Schaltfläche darauf, um den Dialog mit Navigator.of(context).pop() zu schließen. Aber wenn ich die Schaltfläche drücke, wird der Dialog nicht geschlossen, sondern das übergeordnete Widget wird nacheinander geschlossen entsprechend dem Widget-Baum. Es scheint, dass dies nur unter iOS passiert.
Video zur Visualisierung
Im übergeordneten Widget:
In MyDialog:
und Pop:
Die Dinge scheinen besser zu werden, aber das Problem tritt manchmal wieder auf.
Video zur Visualisierung
Im übergeordneten Widget:
Code: Select all
showDialog(
context: context,
builder: (ct) => MyDialog(
)).then((v) {
if (v ?? false) {
myFunc();
}
});
Code: Select all
void close() {
Navigator.of(context).pop(false);
}
- Ich habe versucht, rootNavigator: true als einige Tutorials hinzuzufügen.
- Ich habe versucht, einen zusätzlichen BuildContext an zu übergeben der Dialog:
Code: Select all
showDialog(
context: context,
builder: (ct) => MyDialog(contx:xt
)).then((v) {
if (v ?? false) {
myFunc();
}
});
Code: Select all
void close() {
Navigator.of(contx).pop(false);
}