我正在尝试使用a StreamBuilder来获取数据,并且想在a SliverList内使用all 来显示数据,CustomScrollView以便可以利用附带的功能CustomScrollView。
StreamBuilder
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(), ); }, ), ); } }