Ce este PopScope în Flutter
În versiunile recente Flutter, clasa clasică WillPopScope a fost înlocuită de PopScope pentru compatibilitate completă cu gesturile predictive de întoarcere (Predictive Back Navigation pe Android 14+). Permite blocarea revenirii accidentale (canPop: false) și afișarea unui dialog de confirmare dacă formularul conține date nesalvate.
Exemplu Concret: Confirmare înainte de părăsirea formularului
bool _areModificariNesalvate = true;
PopScope(
canPop: !_areModificariNesalvate,
onPopInvokedWithResult: (didPop, result) async {
if (didPop) return;
final confirma = await showDialog(
context: context,
builder: (ctx) => AlertDialog(
title: const Text('Părăsiți pagina?'),
content: const Text('Modificările nesalvate se vor pierde.'),
actions: [
TextButton(onPressed: () => Navigator.pop(ctx, false), child: const Text('Anulează')),
TextButton(onPressed: () => Navigator.pop(ctx, true), child: const Text('Părăsește')),
],
),
);
if (confirma == true && context.mounted) {
Navigator.pop(context);
}
},
child: const Scaffold(body: FormularEditare()),
)
Întrebări & Exemple de Cod:
Widget-ul PopScope (înlocuitor WillPopScope) în FlutterAi o nelămurire despre utilizarea comenzii
Widget-ul PopScope (înlocuitor WillPopScope) în Fluttersau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.