проверка трепетания, существует ли идентификатор пользователя в облачной коллекции Firestore - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь получить идентификатор пользователя и проверить наличие флаттера с помощью firestore, но я не получаю правильный результат.

 handlesearch() {

final form = formkey.currentState;

    final Future<QuerySnapshot> result =  Firestore.instance
        .collection('users')
        .where('userid', isEqualTo: form)
        .getDocuments();

    setState(() {

      searchresult = result;

    });


 buildsearch() {


    return AppBar(
      title: Container(
        padding: EdgeInsets.all(10.0),
        child: Column(
          children: <Widget>[
            Form(
              key: formkey,
              child: TextFormField(
                controller: searchcontroller,
                onSaved: (val) => userid = val,
                // onFieldSubmitted: handlesearch,
              ),

            ),
            RaisedButton(
              child: Text('submit'),
              onPressed: handlesearch,
            )
          ],



 @override
  Widget build(BuildContext context) {


Scaffold(

      appBar:buildsearch(),

      body:
return FutureBuilder(

        future: searchresult,
        builder: (BuildContext context, AsyncSnapshot snapshot) {

          if(snapshot.hasData){
            return buildexists();
          }
            return builddoesntexists();

        }
        );
      }
}

1 Ответ

0 голосов
/ 18 февраля 2020

Я не понимаю, почему или как вы используете formkey.currentState для получения идентификатора пользователя.

Вместо этого вы можете использовать контроллер формы: searchcontroller.text

Но поскольку вы сохраняете его в пользовательской переменной, вы также можете использовать его: userid

NB: в вашей функции onSaved обязательно вызовите setState для перестройки с обновленным значением:

onSaved: (val) => setState(() => userid = val);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...