颤动检查云Firestore集合中是不是存在用户ID
Posted
技术标签:
【中文标题】颤动检查云Firestore集合中是不是存在用户ID【英文标题】:flutter check if user id exists in cloud firestore collection颤动检查云Firestore集合中是否存在用户ID 【发布时间】:2020-02-18 07:45:06 【问题描述】:我正在尝试获取用户 id 并使用 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】:我不明白您为什么或如何使用 formkey.currentState
来获取用户 ID。
相反,您可能想要使用表单控制器:searchcontroller.text
但由于您将其保存在自定义变量中,您也可以使用它:userid
注意:在您的 onSaved 函数中,请务必调用 setState 以使用更新后的值进行重建:
onSaved: (val) => setState(() => userid = val);
【讨论】:
以上是关于颤动检查云Firestore集合中是不是存在用户ID的主要内容,如果未能解决你的问题,请参考以下文章
如何检查 Flutter Firestore 中是不是存在用户文档?
Swift 5 Firestore:检查数据库中是不是存在集合