简体   繁体   English

Flutter Firebase 实时数据库 StreamBuilder 更新

[英]Flutter Firebase Realtime Database StreamBuilder update

I'm working on a project where I display data from Firebase Realtime Database.我正在做一个项目,我在其中显示来自 Firebase 实时数据库的数据。 I use StreamBuilder to get data from database.我使用 StreamBuilder 从数据库中获取数据。 For triggering the StreamBuilder I use "_database.child(widget.latestPath).onValue".为了触发 StreamBuilder,我使用“_database.child(widget.latestPath).onValue”。 But sometimes I want to change the path for get another data, but when I change "widget.latesPath" the StreamBuilder doesn't refresh(Only if I use hot reaload).但有时我想更改获取其他数据的路径,但是当我更改“widget.latesPath”时,StreamBuilder 不会刷新(仅当我使用热重新加载时)。 How can I trigger StreamBuilder to refresh the path for the new database?如何触发 StreamBuilder 刷新新数据库的路径?

DatabaseReference databaseRef;

// initState()
databaseRef = _database.child(widget.latestPath);

// build
return StreamBuilder(
    stream: databaseRef.onValue,
    builder: (context, snapshot) {
      // Do something with the data
  },
);

// When u want to update new path
setState(() {
 databaseRef = _database.child(widget.newPath);;
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM