object - 有没有一种方法可以将Map()对象传递给不同屏幕中的不同状态小部件?

标签 object flutter dart widget stateful

例如,
我在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}”);
  }
}

我无法在其他屏幕上找到人员。甚至我也导入了dart文件。
如何在其他屏幕上转移到有状态的小部件?

最佳答案

您必须在Screen1中创建构造函数

class Screen1 extends StatefulWidget {  
  final Map people;

  const Screen1(this.people);

然后像这样在全状态类Screen1中访问它
widget.people.age

如果您的Screen1将是无状态的,则可以通过
people.age

关于object - 有没有一种方法可以将Map()对象传递给不同屏幕中的不同状态小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61116111/

相关文章:

flutter - 要声明什么类型

javascript - 使用 Lodash 将对象键转换为具有键值数量的数组

ios - IOS中availableCameras为空但Android中没有问题

sqlite - Flutter Text ("${sqlite_tbl[0][' body']") 抛出 NoSuchMethodError

flutter - 如何删除Appbar下方的小线?

flutter - 将类成员(例如小部件构建器)提取到不同的文件?

dart - 在 Dart 中使用 DTLS

javascript - 重构 JS 对象数组

javascript - 在 JavaScript 中深度克隆对象最有效的方法是什么?

c++ - 重构建议 : How to avoid type checking in this OO design