Как я могу получить значение из firebase и поместить его в текст во флаттере - PullRequest
0 голосов
/ 29 января 2020

Извините, но я новичок во флаттере, у меня есть простая проблема, которая заключается в том, как получить конкретные значения c из базы данных Firebase.

Например, я хочу получить Значение «имя» и положить его в тексте. Как я могу это сделать? Вы можете написать подробный код? My cloudfirestore

  class _HomePageState extends State<HomePage> {
  String myuid;
  FirebaseUser currentUser;


  // To get id
  void _loadCurrentUser() {
  FirebaseAuth.instance.currentUser().then((FirebaseUser user) {
  setState(() { // call setState to rebuild the view
    this.currentUser = user;
  });
  });
   }


@override
void initState() {
super.initState();
_loadCurrentUser();
}


@override
Widget build(BuildContext context) {
myuid = currentUser.uid;

var getname;
Future<void> getName() async {
  DocumentSnapshot ds =
  await Firestore.instance.collection('users').document(myuid).get();
  getname = ds.data['name'];
}

Ответы [ 3 ]

0 голосов
/ 29 января 2020

Это нахальный способ получить данные и сохранить их в переменной

var name;
Future<void> getName(){
  DocumentSnapshot ds = await 
       Firestore.instance.collection('users').document(uid).get();
  name = ds.data['name']
}

, а затем просто выбросить их в текстовое поле

Text(name);
0 голосов
/ 30 января 2020

Попробуйте

String name;

Future<null> getName() async {
  DocumentSnapshot document = await Firestore.instance.collection('users').document(FirebaseUser().uid).get();
name = document.data['name']
}
0 голосов
/ 29 января 2020

Так вы можете получить данные из документа базы данных Firestore один раз

val docRef = db.collection("users").document("mhPtwy..........")
docRef.get()
        .addOnSuccessListener { document ->
            if (document != null) {
                Log.d(TAG, "DocumentSnapshot data: ${document.data}")
            } else {
                Log.d(TAG, "No such document")
            }
        }
        .addOnFailureListener { exception ->
            Log.d(TAG, "get failed with ", exception)
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...