当前位置: 首页 > news >正文

flutter:监听路由的变化

问题

当从路由B页面返回路由A页面后,A页面需要进行数据刷新。因此需要监听路由变化

解决

使用RouteObserver进行录音监听

创建全局变量,不在任何类中

final RouteObserver<PageRoute> routeObserver = RouteObserver<PageRoute>();

在main.dart中添加监听

Widget build(BuildContext context) {return MaterialApp(...navigatorObservers: <NavigatorObserver>[routeObserver],...);
}

订阅观察者

class _MyPageWidgetState extends State<MyPageWidget> with RouteAware {void didChangeDependencies() {super.didChangeDependencies();// 订阅路由变化final ModalRoute? modalRoute = ModalRoute.of(context);if (modalRoute is PageRoute) {routeObserver.subscribe(this, modalRoute);}}void dispose() {routeObserver.unsubscribe(this);super.dispose();}void didPopNext() {debugPrint('路由回来了');}
}

当从其他路由页面返回MyPageWidget页面时会触发didPopNext方法,可以在该方法里执行查询等操作
在这里插入图片描述

http://www.lryc.cn/news/393234.html

相关文章:

  • Linux多进程和多线程(六)进程间通信-共享内存
  • ruoyi后台修改
  • macOS查看系统日志的方法
  • 数字信号处理及MATLAB仿真(3)——采样与量化
  • 云端AI大模型群体智慧后台架构思考
  • 算法系列--分治排序|再谈快速排序|快速排序的优化|快速选择算法
  • 强化学习编程实战-1-一个及其简单的强化学习实例(多臂赌博机)
  • Golang语法规范和风格指南(一)——简单指南
  • 数据机构记录顺序表-笔记1
  • 考研必备~总结严蔚敏教授《数据结构》课程的重要知识点及考点
  • 【数据分享】国家级旅游休闲街区数据(Excel/Shp格式/免费获取)
  • Linux开发:进程间通过Unix Domain Socket传递数据
  • Redis基础教程(九):redis有序集合
  • Servlet与Servlet容器
  • 腾讯centos mysql安装
  • c_各个unsigned int 和 int的取值范围
  • C#/WPF 自制截图工具
  • 以腾讯为例,手把手教你搭建产品帮助中心
  • 计算机网络概述--自我学习用
  • 超级好用的java http请求工具
  • 在原有的iconfont.css文件中加入新的字体图标
  • 使用 ESP32-WROOM + DHT11 做个无屏温湿度计
  • 如何使用 SwiftUI 构建 visionOS 应用
  • InspireFace-商用级的跨平台开源人脸分析SDK
  • 华为HCIP Datacom H12-821 卷24
  • TikTok马来西亚直播网络怎么配置?
  • 基于若依的文件上传、下载
  • 论文回顾 | CVPR 2021 | How to Calibrate Your Event Camera | 基于图像重建的事件相机校准新方法
  • 高级java每日一道面试题-2024年7月1日
  • 当需要对多个表进行联合更新操作时,怎样确保数据的一致性?