如何从多个屏幕访问控制器-颤动



假设我在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控制器

相关内容

最新更新