一旦我按下圓形按鈕,如果有任何錯誤,我希望顫振在我的螢屏上的警報視窗中向我顯示錯誤,但它沒有這樣做。
RoundedButton(
title: 'Register',
onPressed: () async {
setState(() {
showSpinner = true;
});
try {
final newUser = await _auth.createUserWithEmailAndPassword(
email: email,
password: password,
);
Navigator.pushNamed(context, LoginScreen.id);
setState(() {
showSpinner = false;
});
} catch (e) {
build(context);
setState(() {
showSpinner = false;
});
AlertWindow(
error: e.toString(), // Here is the Alert window class
);
}
},
color: Colors.blueAccent,
),
class AlertWindow extends StatelessWidget {
const AlertWindow({Key? key, required this.error}) : super(key: key);
final String error;
@override
Widget build(BuildContext context) {
return BackdropFilter(
filter: ImageFilter.blur(sigmaX: 6, sigmaY: 6),
child: AlertDialog(
title: const Text('Alert'),
content: Text(error),
),
);
}
}
如果任何錯誤來自 firebase,則微調器會停止 Spinning,并且不會再發生任何事情。不彈出警報視窗。
uj5u.com熱心網友回復:
您應該呼叫 showDialog 函式。
樣本:
// show the dialog
showDialog(
context: context,
builder: (BuildContext context) {
return AlertWindow(error: e.toString());
},
);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/445216.html
