【发布时间】:2023-02-16 13:21:39
【问题描述】:
navigator.push 不会将我重定向到我确实想要重定向的页面,而且 navigator.pop 不会弹出 circularprogressindicator,我被困在那里。
这是我的文件的导入。
import 'package:file_name/products/widget_helper/register_ui_widget_functions.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import '../helper/user_registration_helper.dart';
import '../model/user_registration_model.dart';
import '../pages/home_page.dart';
注册_widgets.dart
Future signUpUser(emailUserCtrlr, passwordUserCtrlr, repeatPasswordUserCtrlr,
firstNameUserCtrlr, lastNameUserCtrlr, context) async {
RegistrationUser.checkFieldValidation(emailUserCtrlr, passwordUserCtrlr,
repeatPasswordUserCtrlr, firstNameUserCtrlr, lastNameUserCtrlr);
RegistrationUser.confirmPassword(
passwordUserCtrlr, repeatPasswordUserCtrlr);
if (RegistrationUser.confirmPassword(
passwordUserCtrlr, repeatPasswordUserCtrlr)) {
// CricularProgressIndicator here...
ReusableWidgets.showDialogCircularIndicator(context);
try {
await FirebaseAuth.instance.createUserWithEmailAndPassword(
email: emailUserCtrlr.text.trim(),
password: passwordUserCtrlr.text.trim());
FirestoreUserHelper.create(UserModel(
firstName: firstNameUserCtrlr.text.trim(),
lastName: lastNameUserCtrlr.text.trim(),
userEmail: emailUserCtrlr.text.trim(),
));
ToastRegisterUser.registeredSuccessfully();
// Navigator.push not working
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const UserHomePage()),
);
} on FirebaseAuthException catch (e) {
ToastRegisterUser.emailAlreadyRegistered(emailUserCtrlr);
}
// Navigator Pop not working
Navigator.of(context).pop();
}
}
这是我的 CircularProgressIndicator,我把它放在一个函数上以便它可以重用。
static showDialogCircularIndicator(BuildContext context) {
return showDialog(
context: context,
builder: (BuildContext context) {
return const Center(
child: CircularProgressIndicator(),
);
});
}
我已经尝试过,将其作为函数删除并通过重做来添加导入。但是它仍然无法修复。我不知道这是 firebase 问题还是 Flutter UI 问题。
【问题讨论】:
-
你试过
Navigator.of(context, rootNavigator: true).pop()了吗? -
你好,@Burak。是的,我试过了,但还是不行。
-
您放置了不必要的代码部分。问题出在用户界面上。所以向我们展示 UI 代码部分。
-
请阐明您的具体问题或提供更多详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
标签: android flutter dart google-cloud-firestore firebase-authentication