问题描述
我是 Flutter 的新手,需要一些帮助! 我知道如何将数据从父级传递给子级,反之亦然。 但是如何从既不是父级也不是子级的 Widget 传递数据?
解决方法
你把它传回父级,直到你命中一个是两者祖先的父级,然后你将它传递给子级,直到你命中它的目的的子级。
如果这看起来工作量太大,因为它们在树中相距太远,请考虑另一种 state management 方法。
,这里有多个选项:
-
使用状态管理(如果您只想将参数从一个屏幕发送到另一个屏幕,则不推荐)
-
使用这样的东西:
class ClassName extends StatefulWidget { final int param1; const ClassName({Key key,this.param1}) : super(key: key); }
当你想路由到这个屏幕时,你可以像这样传递param1:
Navigator.of(context).push(ClassName(param1: value));
- 列表项 你可以使用一些像 autoRoute 这样的库