嗨,我是 flutter 的新手,我想检索当前登录的姓名和电子邮件,并从此类中显示
String Name;
String CID;
String Email;
class _AuthScreenState extends State<AuthScreen> {
final _auth = FirebaseAuth.instance;
AuthScreen As = new AuthScreen();
var _isLoading = false;
void _sumbitAuthForm(String name, String CivilID, String email,
String password, bool isLogin, BuildContext ctx) async {
UserCredential authResult;
try {
setState(() {
_isLoading = true;
});
if (isLogin) {
authResult = await _auth.signInWithEmailAndPassword(
email: email,
password: password,
);
} else {
authResult = await _auth.createUserWithEmailAndPassword(
email: email,
password: password,
);
}
;
await FirebaseFirestore.instance
.collection('Users')
.doc(authResult.user.uid)
.set({
'Name': name,
'Civil ID': CivilID,
'email': email,
});
} on PlatformException catch (err) {
var message = 'An error occurred, please check your credentials!';
if (err.message != null) {
message = err.message;
}
Scaffold.of(ctx).showSnackBar(
SnackBar(
content: Text(message),
backgroundColor: Theme.of(ctx).errorColor,
),
);
setState(() {
_isLoading = false;
});
} catch (err) {
print(err);
setState(() {
_isLoading = false;
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Authform(
_sumbitAuthForm,
_isLoading,
),
);
}
}
到这个班
import 'package:Motri/widgets/Auth/auth_form.dart';
import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_auth/firebase_auth.dart';
import '../models/mainFeatures.dart';
import '../widgets/Auth/mainFeatures_form.dart';
import 'package:Motri/screens/AuthFirebase.dart';
class MainMotri extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Motri'),
),
drawer: Drawer(
child: ListView(
// Important: Remove any padding from the ListView.
padding: EdgeInsets.zero,
children: <Widget>[
UserAccountsDrawerHeader(
accountName: Text(
"h"
),
accountEmail: Text("abhishekm977@gmail.com"),
currentAccountPicture: CircleAvatar(
backgroundColor: Colors.orange,
child: Text(
"A",
style: TextStyle(fontSize: 40.0),
),
),
),
],
),
),
);
}
}
在抽屉上显示姓名和用户电子邮件,但我不知道如何将数据库字段从类传递到另一个
我还查看了人们在 SO 上发布的其他解决方案,但我无法让它们适用于我的特定案例