【发布时间】:2019-05-28 16:15:09
【问题描述】:
我在SingleChildScrollView 中有一个ExpansionPanelList。每当我(取消)折叠面板并因此调用setState 时,SingleChildScrollView 就会滚动回顶部。我怎样才能防止这种情况发生?
@override
Widget build(BuildContext context) {
final _scaffoldKey = new GlobalKey<ScaffoldState>();
return new Scaffold(
key: _scaffoldKey,
appBar: new AppBar(
title: new Text(widget.title),
),
body: new SingleChildScrollView(
child: new ExpansionPanelList(
children: <ExpansionPanel>[
// panels
],
expansionCallback: (int index, bool isExpanded) {
setState(() {
// toggle expanded
});
},
), // ExpansionPanelList
), // SingleChildScrollView
); // Scaffold
}
This answer 建议使用自定义ScrollController 并将keepScrollOffset 设置为true,但这是默认值,将其显式设置为true 因此不会改变任何内容。
【问题讨论】: