SliverList
- это фрагмент, содержащий виджеты с полями. Существует ли фрагмент, содержащий виджеты фрагментов?
Я пытаюсь вложить flutter_sticky_headers для создания временной шкалы, но SliverStickyHeader
принимает только один фрагмент в качестве аргумента (см. Комментарий в monthSlivers()
).
class HomeView extends StatelessWidget {
final HomeViewModel viewModel;
HomeView(this.viewModel);
List<Widget> entryTiles(List<EntryTileViewModel> entryVMs) {
return entryVMs.map((entryVM) => EntryTile(viewModel: entryVM)).toList();
}
List<Widget> daySlivers(List<DaySection> daySections) {
return daySections.map((daySection) {
var entries = entryTiles(daySection.entryVMs);
return SliverStickyHeader(
overlapsContent: true,
header: DayHeader(
viewModel: DayHeaderViewModel(date: daySection.date),
),
sliver: SliverList(
delegate: SliverChildBuilderDelegate(
(context, i) => entries[i],
childCount: entries.length,
),
),
);
}).toList();
}
List<Widget> monthSlivers() {
return viewModel.monthSections.map((monthSection) {
var days = daySlivers(monthSection.daySections);
return SliverStickyHeader(
header: MonthHeader(
viewModel: MonthHeaderViewModel(date: monthSection.date),
),
sliver:,// THIS IS WHERE I WANT TO PUT DAYSLIVERS().
);
}).toList();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: CustomScrollView(
slivers: monthSlivers(),
),
);
}
}