dart - 在 CustomScrollView 中使用 StreamBuilder 和 Sliv

我正在尝试使用 StreamBuilder 来获取数据,并且我想在 CustomScrollView 内使用 SliverList 来显示该数据,所以我可以利用 CustomScrollView 附带的功能。

关于如何实现这一目标的任何想法?

最佳答案

当然,这很简单,这里有一个代码示例:

    class SampleStreamBuilder extends StatelessWidget {
      Stream<List<String>> loadData() async* {
        await Future.delayed(Duration(seconds: 3));
        yield List.generate(10, (index) => "Index $index");
      }

      @override
      Widget build(BuildContext context) {
        return Scaffold(
          body: StreamBuilder<List<String>>(
            stream: loadData(),
            builder: (context, snapshot) {
              return snapshot.hasData
                  ? CustomScrollView(
                      slivers: [
                        SliverList(
                          delegate: SliverChildBuilderDelegate((context, index) {
                            return ListTile(
                              title: Text(snapshot.data[index]),
                            );
                          }, childCount: snapshot.data.length),
                        )
                      ],
                    )
                  : Center(
                      child: CircularProgressIndicator(),
                    );
            },
          ),
        );
      }
    }

关于dart - 在 CustomScrollView 中使用 StreamBuilder 和 SliverLists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54246594/

相关文章:

dart - Streambuilder 没有收到一些快照数据

dart - 从 LatLng 列表计算总距离

flutter - 如何更改 CupertinoDatePicker 显示语言?

dart - Flutter Drawer 作为单独的小部件不允许修改宽度

dart - Flutter - 修复抽屉页眉

regex - Flutter 无法解析正则表达式

flutter - 因为sdk的flutter_test的每个版本都依赖... sdk的flutte

dart - flutter/Dart 异步不等待

user-interface - 如何在 flutter 中获得相对于屏幕尺寸的小部件尺寸?

android - Flutter - 多选 ListView