假设我在statefullWidget
中创建了一个ScrollController
,如下所示:
late ScrollController controller;
@override
void initState() {
super.initState();
controller = ScrollController();
}
@override
void dispose() {
controller.dispose();
super.dispose();
}
使用这个控制器可以很容易地将小部件隐藏起来。但是,如果我想从另一个屏幕访问该控制器,我必须将其作为一个参数传递,可能是这样的:
Navigator.pushNamed(context, '/another-screen', arguments: controller);
但是,如果屏幕是完全独立的呢(我不能将其作为参数传递(我想到了使用Provider
全局提供控制器。但现在,我无法处理它。
尝试添加全局晚期ScrollController控制器,然后初始化该变量您可以在main.dart上声明晚期ScrollController控制器