gpt4 book ai didi

flutter - Flutter:如何在出现已访问过的页面时始终触发功能

转载 作者:行者123 更新时间:2023-12-03 03:48:54 26 4
gpt4 key购买 nike

有没有办法在访问已访问的页面时始终触发功能?
我有一个看起来像这样的页面:

// Loads of imports

class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage>
List<Shift> shifts = [];

Future<void> getUpcomingShifts() async {
var shiftList = await ShiftService.upcomingShifts();
setState(() {
shifts = shiftList;
});
}

@override
void initState() {
super.initState();
this.getUpcomingShifts();
}

@override
Widget build(BuildContext context) {
var size = MediaQuery.of(context).size;
return Scaffold(
extendBody: true,
drawer: SideDrawer(),
body: Column(children: <Widget>[
Header(title: I18n.of(context).pagesHomeTitle),
Container(
child: // The rest of the page
)
]));
}
}

因此,我希望在访问此(主页)页面时始终触发getUpcomingShifts。第一次访问该页面时,此方法工作正常,但是在初始化之后,该函数将不再触发。在此问题上,我找不到任何好的示例或文档。

最佳答案

您可以在状态上使用RouteAware mixin,然后在didPopNext中调用您的函数,当下一条路由弹出堆栈且此页面再次可见时,该函数将被调用

关于flutter - Flutter:如何在出现已访问过的页面时始终触发功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64464886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com