dart - 在 CustomScrollView 中使用 StreamBuilder 和 SliverLists
问题描述
我正在尝试使用 aStreamBuilder
来获取数据,并且我想使用 a SliverList
all inside a来显示该数据,CustomScrollView
这样我就可以利用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(),
);
},
),
);
}
}
推荐阅读
- flutter - 如何在 Flutter 中创建带条纹的背景
- java - 正则表达式:捕获多个正则表达式组合的否定
- excel - 从最新文件中提取文件名
- waf - 基于特征的一个输入的多个输出
- tensorflow - 对于从命令行工作的同一模型,tensorflow-serving 给了我一个“被喂入和获取”错误
- python - 我正在读入一个 256 字节的字符串。我想跳过它,如果都是二进制零 (\x00) 是否有一个测试?
- ios13 - iOS 13 beta 中的 UIMenuController 显示为透明背景而不是黑色背景
- windows - 从 Powershell 执行 cmd.exe 命令并传递参数
- javascript - 将对象作为参数传递给javascript中的处理函数时,为什么我不能重新分配对象?
- xmlhttprequest - Internet Explorer 11 和 XMLHttp 响应中的 0xEF 0xBF 0xBF