如何导航到具有构造函数参数的页面?

时间:2019-09-05 16:23:42

标签: flutter dart

我的页面状态混乱。在这里:

class TestPage extends StatefulWidget {

  static const String id = 'TestPage';


  final String testString;

  TestPage(this.testString);

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

class _TestPageState extends State<TestPage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(child: Text('Hello ${widget.testString}'))
    );
  }
}

该页面具有一个构造函数,该构造函数将字符串作为默认值。

 final String testString;

在另一个页面上,我打电话给该页面。我想打开它并给它或传递给它一个String值:

Navigator.pushNamed(context, TestPage(myString));

但是,它告诉我:

不能将参数类型“ TestPage”分配给参数类型String。

我在做什么错?这不是实例化此类并使其出现的正确方法吗?

谢谢

1 个答案:

答案 0 :(得分:3)

尝试一下,

Navigator.push( context, MaterialPageRoute( builder: (context) => TestPage(testString: 'Hello',), ));