我的 main.dart 中有一个 TabBarView,每个选项卡都有一个类来显示内容(它是 listview 对象),当我在选项卡之间切换时,listview 页面每次都会刷新,tabbarview 是否正常?我不希望每次在选项卡之间切换时它都会刷新。
是我类的问题吗?如何解决这个问题?代码是这样的。
class ListWidget extends StatefulWidget {
final catID;
ListWidget(this.catID);
_ListWidgetState createState() => new _ListWidgetState(catID);
}
class _ListWidgetState extends State<ListWidget> {
var catID;
void initState() {
super.initState();
_fetchListData();
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return new Scaffold(.......
}
最佳答案
MahMoos 是对的,但是最好在这里举个例子......
- 使用 AutomaticKeepAliveClientMixin
- 覆盖 wantKeepAlive 属性并返回 true
`
class ListWidget extends StatefulWidget {
@override
_ListWidgetState createState() => _ListWidgetState();
}
class _ListWidgetState extends State<ListWidget> with
AutomaticKeepAliveClientMixin<ListWidget>{ // ** here
@override
Widget build(BuildContext context) {
super.build(context)
return Container();
}
@override
bool get wantKeepAlive => true; // ** and here
}
关于tabs - Flutter tabview刷新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51319804/