【发布时间】:2018-12-29 18:14:42
【问题描述】:
我有一个 Flutter 应用程序,它由一个带有滑块和标签视图的脚手架组成。
tabview 包含一个 List,如下图所示。
List<Widget> widgetList = <Widget>[
Post(),
Feed(),
Location(),
HomePage(),
Feed(),
];
现在我想在移动滑块时刷新屏幕上的当前选项卡。但是,由于这些类是私有的,即_HomePageState,我不知道如何访问refreshList() 方法,如下面的sn-p 所示。
homepage.dart:
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => new _HomePageState();
}
class _HomePageState extends State<HomePage> {
var list;
var random;
var refreshKey = GlobalKey<RefreshIndicatorState>();
@override
void initState() {
super.initState();
random = Random();
refreshList();
}
Future<Null> refreshList() async {
refreshKey.currentState?.show(atTop: false);
await Future.delayed(Duration(seconds: 2));
setState(() {
list = List.generate(random.nextInt(10), (i) => "Item $i");
});
return null;
}
}
滑块不会烘焙到每个列表视图小部件中,即homepage.dart,因为滑块值适用于每个单独的选项卡。移动带有滑块的外部小部件时,如何刷新内部列表视图小部件?
【问题讨论】: