从其他类调用StreamBuilder

我在另一个类中构建了一个StreamBuilder,并在build()中将其称为。现在,我想在另一个实际上需要此Stream的类中使用该类。有人可以帮我吗?

谢谢

class ItemList extends StatefulWidget {

  final String documentId;
  final String userId;

  ItemList({
    Key key,this.documentId,this.userId
    }) : super(key: key);

  @override
  _ItemListState createState() => new _ItemListState();
}

在此类中,StreamBuilder被初始化。

class _ItemListState extends State<ItemList>{

  @override
  void initState(){
    super.initState();
  }

  StreamBuilder buildItemStream(BuildContext context)  {

    final databaseReference = Firestore.instance;

    return new StreamBuilder(
      stream: databaseReference.collection("events").
                                document(widget.documentId).
                                collection("itemList").
                                snapshots(),builder: (context,snapshot) {
        //if(snapshot.error) return const Center(child: Text("Your ItemList is empty"));
        return Container(
          child: ListView.builder(
            scrollDirection: Axis.vertical,shrinkWrap: true,padding: EdgeInsets.all(10.0),//itemExtent: 300.0,itemCount: snapshot.data.documents.length,itemBuilder: (context,index) =>
              buildItemList(context,snapshot.data.documents[index]),),);
      },);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: buildItemStream(context),);
  }
}
sonyjkjkjk 回答:从其他类调用StreamBuilder

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3136586.html

大家都在问