调用基于数据库的浮动操作按钮的更好方法

时间:2019-12-11 10:29:20

标签: flutter dart google-cloud-firestore google-cloud-functions

因此,我希望浮动操作按钮根据其从Firestore数据库获取的状态进行更改。因此,用户可能会收到四个不同的浮动操作按钮。原因是有四个浮动操作按钮,其中三个在其他任何地方都具有相同的UI。实际上,一个与另外三个之间的区别是没有任何可显示的事实。因此,基本的浮动动作按钮被提供给用户。其他三个按钮基于用户的状态。 截至目前,这是我的代码:

final _firestore = Firestore.instance;
FirebaseUser loggedInUser; 
class _User extends State<User> {
final _auth = FirebaseAuth.instance;
User_State _status = User_State.State_one;


Future<User_State> getCurrentStatus() async{
  //Calls firebase to get the status of the current user
  //updates _status
}


    ...
SpeedDial getFloatingActionButton() {
        getCurrentStatus();
        //return the proper fab based on _status
}
...
}

但是,我知道这并不是最佳选择,对我而言却非常疏忽。但是,我不知道另一种解决方法。任何帮助或建议,将不胜感激。先感谢您。我当时在想做一个监听器,就像使用streambuilder会发现那样,它仅在提供新信息时才监听,但我不确定如何处理它。

0 个答案:

没有答案