我有一个将数据添加到数据库的功能。我需要在另一页上更新此数据。告诉我,您只需要在另一页上编写什么代码即可更新此数据。
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
final db = Firestore.instance;
void createData() async {
if (_formKey.currentState.validate()) {
_formKey.currentState.save();
DocumentReference ref = await db.collection('users').add({'email': '$_email', 'name': 'UserName', 'userPhotoURL': 'url'});
setState(() => id = ref.documentID);
print(ref.documentID);
}
}
答案 0 :(得分:0)
好的,所以,如果您的问题是,当有新数据传入时如何更新ui,您可以使用StreamBuilder
小部件来获取数据。如果出现新数据,它将更新ui。
StreamBuilder(
stream: Firestore.instance.collection("collection").snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return CircularProgressIndicator();
} else {
<DocumentSnapshot> items = snapshot.data.documents;
return ListView.builder(
itemCount: snapshot.data.documents.length,
itemBuilder: (context, index) {
DocumentSnapshot ds = snapshot.data.documents[index];
return ListTile(
title: Text('${ds["url"]}'),
);
}
);
}
}
)