有没有办法将 Map() 对象传递给不同屏幕中的不同状态小部件?
Posted
技术标签:
【中文标题】有没有办法将 Map() 对象传递给不同屏幕中的不同状态小部件?【英文标题】:Is there a way to pass a Map() object to different stateful widget in different screens? 【发布时间】:2020-07-21 18:36:14 【问题描述】:例如, 我在 main.dart 中有一个简单的 Map()。
我有 3 个带有不同状态小部件的屏幕,
screen1.dart => Screen1()
screen2.dart => Screen2()
screen3.dart => Screen3()
在 main.dart 中
var people1 =
name:”Peter”,
age:20,
Main()
runApp(screen1(people1));
===========================
screen1.dart
(导入的 main.dart)
class Screen1 extends StatefulWidget
@override
_Screen1State createState() => _Screen1State();
class _Screen1State extends State<Screen1>
@override
Widget build(BuildContext context)
return Container(Text(“$people.age”);
我无法在其他屏幕中获取 people.age。即使我导入了飞镖文件。 如何转移到其他屏幕中的有状态小部件?
【问题讨论】:
【参考方案1】:你必须在你的 Screen1 中创建构造函数
class Screen1 extends StatefulWidget
final Map people;
const Screen1(this.people);
然后像这样在有状态的类 Screen1 中访问它
widget.people.age
如果你的 Screen1 是无状态的,那么你可以简单地通过
访问它people.age
【讨论】:
这很可疑,我想知道 dart 上的 Map 对象不能通过简单属性访问。以上是关于有没有办法将 Map() 对象传递给不同屏幕中的不同状态小部件?的主要内容,如果未能解决你的问题,请参考以下文章
如何将两个不同的对象传递给邮递员中的 POST 请求以测试 RESTful API?
在Python中将多个参数传递给pool.map()函数[重复]