【发布时间】:2020-02-25 10:57:04
【问题描述】:
我有一个主页,根据型号,它显示在 CustomScrollView slivers 其他页面中。
例子:
CustomScrollView(
physics: _bouncingScrollPhysics,
controller: _scrollController,
slivers: <Widget>[
_pages[_selectedTab]
],
),
我不想在每个页面上使用控制器和物理复制CustomScrollView,所以这个解决方案对我来说似乎很实用。但是我遇到了这样一个问题,如果页面类返回,比如一个SliverList,那么一切正常,但是如果类需要返回多个呢?
@override
Widget build(BuildContext context) {
return SliverList() //OK
}
@override
Widget build(BuildContext context) {
return ...[
SliverList(),
SliverList()
]; // NOT OK
}
【问题讨论】:
-
SliverList下是什么意思?CustomScrollView的slivers属性的小部件列表?为什么不将几个SliverLists合并为单个SliverList?build可以返回only单个小部件。 -
return ` ...[SliverList(), SliverList() ]` 将展开不是小部件对象的列表。所以返回类型与返回的对象不匹配。
-
我知道你不能返回
list <Widget>,所以我问这个问题,有什么选择吗?至于合并 ok,但是如果你需要返回SliverAppBar,SliverList (delegate: SliverChildBuilderDelegate),SliverList (delegate: SliverChildListDelegate)。那该怎么办?我想为所有页面创建一个CustomScrollView,但不要为每个页面复制它