Flutter:要从Streambuilder更新AppBar标题吗?

时间:2019-01-09 19:38:07

标签: flutter

我正在从Streambuilder填充ListView,并希望在AppBar标题中显示文档的长度/ nr。现在,每次流发生变化时,我都会调用SetState。它有效,但是“感觉”有点资源沉重。有什么想法吗?

谢谢。

最好, / j

StreamBuilder(
    stream: Firestore.instance.collection('users').snapshots(),
    builder: (context, snapshot) {
    if (!snapshot.hasData) return const Text('Loading...');
        appBarTitle = snapshot.data.documents.length;
        Future.delayed(Duration.zero, () {
            setState(() {           
            });
        }); 
    },
);

1 个答案:

答案 0 :(得分:2)

您可以使用“流”构建器包装appBar的标题,以更新屏幕标题,例如此代码

 AppBar(title: StreamBuilder<Object>(
    stream: bloc.myStream,
    builder: (context, snapshot) {
      return yourCustomWidget();
    }
  )