@@ -2,10 +2,9 @@ import 'dart:async';
2
2
3
3
import 'package:flutter/material.dart' ;
4
4
5
- import 'dispatch_lifecycle_to_child_page_mixin.dart' ;
6
5
import 'lifecycle_aware.dart' ;
7
- import 'lifecycle_mixin .dart' ;
8
- import 'subscribe_lifecycle_from_child_page_mixin .dart' ;
6
+ import 'parent_page_dispatch_lifecycle_mixin .dart' ;
7
+ import 'parent_page_subscribe_lifecycle_mixin .dart' ;
9
8
10
9
/// Lifecycle wrapper for [PageView] /[TabBarView] .
11
10
class ParentPageLifecycleWrapper extends StatefulWidget {
@@ -44,9 +43,8 @@ abstract class ParentPageLifecycleWrapperState
44
43
extends State <ParentPageLifecycleWrapper >
45
44
with
46
45
LifecycleAware ,
47
- LifecycleMixin ,
48
- DispatchLifecycleToChildPageMixin ,
49
- SubscribeLifecycleFromChildPageMixin {
46
+ ParentPageDispatchLifecycleMixin ,
47
+ ParentPageSubscribeLifecycleMixin {
50
48
void onPageChanged ();
51
49
52
50
@override
@@ -95,8 +93,12 @@ class _PageViewLifecycleWrapperState extends ParentPageLifecycleWrapperState {
95
93
// print('_PageViewLifecycleWrapperState#initState');
96
94
_pageController = widget.controller;
97
95
curPage = _pageController.initialPage;
98
- // 补发第一个page的 active 事件
99
- Future .microtask (() => dispatchEvent (LifecycleEvent .active));
96
+ // 补发第一个page的 active 事件, 异步是让 active 事件在 push 事件之后
97
+ Future .microtask (() {
98
+ if (widget.onLifecycleEvent != null ) {
99
+ widget.onLifecycleEvent (LifecycleEvent .active);
100
+ }
101
+ });
100
102
}
101
103
102
104
/// 页面切换监听
@@ -119,8 +121,12 @@ class _TabBarViewLifecycleWrapperState extends ParentPageLifecycleWrapperState {
119
121
// print('_TabBarViewLifecycleWrapperState#initState');
120
122
_tabController = widget.controller;
121
123
curPage = _tabController.index;
122
- // 补发第一个page的 active 事件
123
- Future .microtask (() => dispatchEvent (LifecycleEvent .active));
124
+ // 补发第一个page的 active 事件, 异步是让 active 事件在 push 事件之后
125
+ Future .microtask (() {
126
+ if (widget.onLifecycleEvent != null ) {
127
+ widget.onLifecycleEvent (LifecycleEvent .active);
128
+ }
129
+ });
124
130
}
125
131
126
132
@override
0 commit comments