Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振:如何在不更改屏幕的情况下将参数从一个屏幕传递到另一个屏幕_Flutter_Flutter Navigation - Fatal编程技术网

Flutter 颤振:如何在不更改屏幕的情况下将参数从一个屏幕传递到另一个屏幕

Flutter 颤振:如何在不更改屏幕的情况下将参数从一个屏幕传递到另一个屏幕,flutter,flutter-navigation,Flutter,Flutter Navigation,我最近开始使用颤振,目前正在导航。我想知道的是,是否有一种方法可以将参数从一个小部件传递到另一个小部件,或者从一个屏幕传递到另一个屏幕,而无需调用builder函数并更改屏幕?我看过OnGeneratorOute和导航器,但它们都会导致屏幕发生变化。是否有方法在navigator.push期间阻止此更改 我想要的其实很简单。我需要一个切换按钮,将布尔值传递给读取它并将其应用到条件语句中的小部件。您应该这样做: 孩子:升起按钮 按下按钮:{ 导航器。推 上下文 材料路线 生成器:上下文=>Seco

我最近开始使用颤振,目前正在导航。我想知道的是,是否有一种方法可以将参数从一个小部件传递到另一个小部件,或者从一个屏幕传递到另一个屏幕,而无需调用builder函数并更改屏幕?我看过OnGeneratorOute和导航器,但它们都会导致屏幕发生变化。是否有方法在navigator.push期间阻止此更改


我想要的其实很简单。我需要一个切换按钮,将布尔值传递给读取它并将其应用到条件语句中的小部件。

您应该这样做:

孩子:升起按钮 按下按钮:{ 导航器。推 上下文 材料路线 生成器:上下文=>SecondPage 价值观:正确, , , ; }, , 类SecondPage扩展了无状态小部件{ 最终布尔值; const SecondPage{Key Key,@required this.value}:superkey:Key; @凌驾 小部件构建上下文上下文{ 返回容器; } }
为什么你需要一个新的小部件/屏幕?如果您只希望切换对UI产生影响,则应使用StatefulWidget和setState方法。如果您只想将布尔值传递到某个位置,则可以使用SharedReferences保留其值,或者需要应用一些您可以使用的功能,但如何在不构建的情况下使用该小部件或页面?如果您提供更多信息,您的主要目标是什么,那么我们可能会提出其他建议。@puelo是否可以通过相关小部件的按下事件来设置兄弟小部件或父小部件的状态?假设我有一个切换按钮,它给出了一个布尔值true,但是我如何才能将其发送到兄弟或父窗口小部件。或者甚至是没有导航到它的子部件?@erbazkamran如果父部件由于setState而重建,则所有子部件也将重建。您可以将布尔值传递到子窗口小部件的构造函数中,然后它也应该得到重建。@puelo那么有没有办法将数据从子窗口发送到父窗口小部件?我已经阅读了有关VoidCallback的内容,并将研究它作为我问题的解决方案。你认为这是一个正确的方法,还是我应该使用像BLoC这样的国家管理系统?谢谢你的回复。但是这不也会改变屏幕吗?我怎么能在没有改变的情况下产生同样的效果呢?@erbaz kamran我也有同样的问题,你有解决办法吗?