用flutter路由跳轉頁面時,主要用到的就是Navigator.push();
和Navigator.pop();
兩個方法。less
可是存在一個問題:async
當我從主頁跳轉到另外一個頁面,再返回到主頁時,主頁並不能主動刷新。怎麼解決呢?ide
答案時,當返回到主頁時,監聽到返回事件,而後主動觸發主頁刷新。ui
class PageOne extends StatefulWidget { @override _PageOneState createState() => new _PageOneState(); } class _PageOneState extends State<PageOne> { // 第一個頁面 _getRequests()async{ print('這裏進行操做'); } @override Widget build(BuildContext context) { return Scaffold( body: Center( child: RaisedButton(onPressed: ()=> Navigator.of(context).push(new MaterialPageRoute(builder: (_)=>PageTwo()),) .then((val)=>val?_getRequests():null), // 經過then進行監聽回調參數 ), )); } } class PageTwo extends StatelessWidget { // 第二個頁面 @override Widget build(BuildContext context) { //somewhere Navigator.pop(context,true); // 第二個就是須要傳到參數 } }