Streambuilder单独的小部件

时间:2020-04-02 18:28:02

标签: listview flutter snapshot bloc

我正在寻找有关单独列表而不是列表阻止的帮助。

这就是我需要的:

final List<Widget> items = _getitems();

 static List<Widget> _getitems() {
    List<Widget> result = new List();
    for (int i = 0; i <= 9; i++) {
      result.add(Container(
        padding: EdgeInsets.all(2.0),
        color: Colors.white,
        child: Text(
          '$i',
          style: TextStyle(fontSize: 22.0, color: Colors.black45),
        ),
      ));
    }
    return result;
  }

使用Streambuilder,我只有一个小部件,而我需要单独的小部件。我试图添加每个容器以导致streambuilder循环,但出现错误以下IntegerDivisionByZeroException引发了构建

  static List<Widget> _getitems() {
    final _bloc = BlocProvider.getBloc<FavoriteBloc>();
    List<Widget> result = new List();
    result.add(
      Container(
        child: StreamBuilder<Map<String, Item>>(
          stream: _bloc.outFav,
          initialData: {},
          builder: (context, snapshot) {
            if (snapshot.hasData) {
              return ListView(
                children: snapshot.data.values.map((i) {
                  return Container( //need to return only this container x 9
                    padding: EdgeInsets.all(2.0),
                    width: 97,
                    height: 50,
                    child: Image.network(i.thumb),
                  );
                }).toList(),
              );
            } else {
              return Container();
            }
          },
        ),
      ),
    );
print (result.length); //I have 1, I need 9
    return result;  
}

0 个答案:

没有答案