【问题标题】:How to pass map from one screen to another in flutter? [duplicate]如何将地图从一个屏幕传递到另一个屏幕? [复制]
【发布时间】:2021-04-01 04:50:59
【问题描述】:

我想将地图的一个对象从一个颤动屏幕传递到另一个

【问题讨论】:

标签: flutter dart


【解决方案1】:

这是一个示例。
屏幕一

class ScreenOne extends StatefulWidget {
  ScreenOne({Key key}) : super(key: key);

  @override
  _ScreenOneState createState() => _ScreenOneState();
}

class _ScreenOneState extends State<ScreenOne> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Screen One"),
      ),
      body: Container(
        child: FlatButton(
          child: Text("Goto Screen Two"),
          onPressed: () {
            Map<String, dynamic> map = {
              "field": "value",
              "another_field": 1,
            };
            Navigator.of(context).push(MaterialPageRoute(builder: (context) => ScreenTwo(receivedMap: map,),));
          },
        ),
      ),
    );
  }
}

屏幕二

class ScreenTwo extends StatefulWidget {
  Map<String, dynamic> receivedMap;

  ScreenTwo({this.receivedMap});

  @override
  _ScreenTwoState createState() => _ScreenTwoState();
}

class _ScreenTwoState extends State<ScreenTwo> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Screen Two"),
      ),
      body: Container(
        child: Text("Screen one sent me this : ${widget.receivedMap["field"]} and ${widget.receivedMap["another_field"]}"),
      ),
    );
  }
}

编辑
如果你愿意,你也可以使用StatelessWidget

【讨论】:

    猜你喜欢
    • 2023-01-11
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    • 2022-12-07
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    相关资源
    最近更新 更多