首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CustomScrollView中使用StreamBuilder和SliverLists

在CustomScrollView中使用StreamBuilder和SliverLists
EN

Stack Overflow用户
提问于 2019-01-18 09:27:11
回答 2查看 4.5K关注 0票数 14

我正在尝试使用StreamBuilder来获取数据,并且我希望在CustomScrollView中使用SliverList来显示这些数据,这样我就可以利用CustomScrollView附带的功能。

关于如何实现这一点有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-18 10:05:50

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

代码语言:javascript
复制
    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(),
                    );
            },
          ),
        );
      }
    }
票数 11
EN

Stack Overflow用户

发布于 2020-03-25 05:29:20

在这种情况下,可以重新呈现整个CustomScrollView。但是,如果您只想在CustomScrollView中重新渲染一个狭长片段,请执行以下操作:

代码语言:javascript
复制
CustomScrollView(
    slivers: <Widget>[
      StreamBuilder(
        stream: stream,
        builder: (ctx, snapshot) {
           return SliverToBoxAdapter(
             child: Text('sliver box'),
           );
        },
      )
    ],
  ),

请记住,始终在StreamBuilder中返回一个小块。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54246594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档