flutter 实现 只刷新当前页面

4,017 阅读1分钟
  • 其实就只是做一个界面判断,但想到和没想到,是质的差别
/// NavigatorObserver
  void didPush(Route route, Route previousRoute) {
    pageInfo = route;
    super.didPush(route, previousRoute);
  }

  void didPop(Route route, Route previousRoute) {
    pageInfo = previousRoute;
    super.didPop(route, previousRoute);
  }
BlocProvider(
    create: (context) => DemoBloc(),
    child: BlocBuilder<DemoBloc, DemoState>(
      builder: (context, state) {
        print('isCurrent:  ${pageInfo.isCurrent}');  // only once
        return Container(child: Text(state.version.toString()),);
      },
    condition: (pre,cur){
      return pageInfo.isCurrent;  //<<-----
    }
    ),
),