【发布时间】:2020-03-13 01:37:22
【问题描述】:
我正在尝试使用 NestedScrollView,但遇到了问题。我已将代码简化为这个简单的示例,以展示问题。
var tabs = ['Tab1', 'Tab2', 'Tab3'];
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: 3,
child: NestedScrollView(
headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
return [
SliverAppBar(
pinned: true,
expandedHeight: 200.0,
bottom: TabBar(
tabs: tabs.map((tab) => Tab(text: tab)).toList(),
),
)
];
},
body: TabBarView(
children: [
_wrapTabWidget(Text('Tab 1')),
_wrapTabWidget(Text('Tab 2')),
_wrapTabWidget(Text('Tab 3'))
],
),
),
);
}
_wrapTabWidget(tabWidget) {
return Builder(
builder: (BuildContext context) {
return CustomScrollView(
slivers: <Widget>[
SliverOverlapInjector(
handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context),
),
tabWidget
],
);
},
);
}
我得到的错误是:
'package:flutter/src/widgets/framework.dart': Failed assertion: line 4944 pos 14: '_dependents.isEmpty': is not true.
The relevant error-causing widget was:
NestedScrollView
我以前没有使用过 NestedScrollView,所以我假设我遗漏了一些简单的东西,但我不确定是什么。
【问题讨论】:
标签: flutter