有没有办法将 Map() 对象传递给不同屏幕中的不同有状态小部件?
Is there a way to pass a Map() object to different stateful widget in different screens?
例如,
我在 main.dart.
中有一个简单的 Map()
我有 3 个带有不同状态小部件的屏幕,
screen1.dart => 屏幕 1()
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。即使我导入了飞镖文件。
如何在其他屏幕上转移到有状态的小部件?
您必须在 Screen1 中创建构造函数
class Screen1 extends StatefulWidget {
final Map people;
const Screen1(this.people);
然后像这样在你的 statefull class Screen1 中访问它
widget.people.age
如果您的 Screen1 是无状态的,那么您可以通过
简单地访问它
people.age
例如, 我在 main.dart.
中有一个简单的 Map()我有 3 个带有不同状态小部件的屏幕,
screen1.dart => 屏幕 1()
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。即使我导入了飞镖文件。 如何在其他屏幕上转移到有状态的小部件?
您必须在 Screen1 中创建构造函数
class Screen1 extends StatefulWidget {
final Map people;
const Screen1(this.people);
然后像这样在你的 statefull class Screen1 中访问它
widget.people.age
如果您的 Screen1 是无状态的,那么您可以通过
简单地访问它people.age