所以我的代码的问题是,一旦我按下提交按钮,我的屏幕就会变黑,然后我无法保存下一个响应。我希望一旦提交我的表单就应该重置以供重复使用,并且应该准备好接受用户的下一个响应,是的,黑屏也应该消失。
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_core/firebase_core.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MaterialApp(home: MyApp()));
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
TextEditingController problemBox = TextEditingController();
final db = FirebaseFirestore.instance;
List _listItem = ["Category 1", "Category 2", "Category 3", "Category 4"];
List _listItem1 = [
"Sub Category 1",
"Sub Category 2",
"Sub Category 3",
"Sub Category 4"
];
List _listItem2 = ["CRIS", "ADMINISTRATION", "ZONE", "DEPARTMENT"];
String dropdownValue; …Run Code Online (Sandbox Code Playgroud) Dart 分析显示以下错误:
错误:未定义类“FirebaseUser”。([quizmaker] lib\services\auth.dart:7 处的 undefined_class)
错误:名称“User”在库“package:firebase_auth/firebase_auth.dart”和“package:quizmaker/models/user.dart”中定义。(ambigious_import 位于 [quizmaker] lib\services\auth.dart:7)
错误:名称“User”在库“package:firebase_auth/firebase_auth.dart”和“package:quizmaker/models/user.dart”中定义。(ambigious_import 位于 [quizmaker] lib\services\auth.dart:8)
错误:“用户”不是函数。(非函数调用位于 [quizmaker] lib\services\auth.dart:8)
错误:名称“User”在库“package:firebase_auth/firebase_auth.dart”和“package:quizmaker/models/user.dart”中定义。(ambigious_import 位于 [quizmaker] lib\services\auth.dart:15)
代码如下:
import 'package:firebase_auth/firebase_auth.dart';
import 'package:quizmaker/models/user.dart';
class AuthService {
FirebaseAuth _auth = FirebaseAuth.instance;
User _userFromFirebaseUser(FirebaseUser user){
return user != null ? User(uid: user.uid) : null;
}
Future signInEmailAndPassword(String email, password) async {
try {
UserCredential authResult = await _auth.signInWithEmailAndPassword(
email: email, password: password);
User? firebaseUser = authResult.user;
return _userFromFirebaseUser(firebaseUser);
} catch (e) {
print(e.toString());
}
}
}
Run Code Online (Sandbox Code Playgroud)