Flutter参数跨页传递:参数"key"呢?

Flutter parameters transfering across pages: What about the parameter "key"?

我做了两个页面,PersonalPage和InformationPage。我想将一些参数从 PersonalPage 传输到 InformationPage。这是我的代码。 个人页面:

Navigator.push(
          context,
          MaterialPageRoute(
              builder: (context) => Information(phoneNumber: phoneNumber, nickName: nickName, realName: realName, key: key)
          ),
        );

信息页:

class Information extends StatelessWidget {
  String? phoneNumber;
  String? realName;
  String? nickName;
  Information({required Key key, required this.phoneNumber, required this.realName, required this.nickName})
      : super(key: key);
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    //Some codes
  }
}

在 PersonalPage 中,包含“builder:”的行有错误:

Undefined name 'key'.

看来我需要赋值key。但是我不知道我应该把什么东西放到key。那我应该给key填什么?或者我可以采取措施避免分配它吗? 非常感谢。

您需要传递Key,因为关键字段设置为必填。

Navigator.push(
          context,
          MaterialPageRoute(
              builder: (context) => Information(key: Key('keyName'), phoneNumber: phoneNumber, nickName: nickName, realName: realName, key: key)
          ),
        );