【发布时间】:2018-03-14 02:22:58
【问题描述】:
我有一个 RaisedButtons 的 ListView,其中每个 RaisedButton 看起来像这样。每个 RaisedButton 的 name 变量都不同:
new RaisedButton(
onPressed: _navigateToRoute,
child: new Text(name),
),
点击 RaisedButton 调用 _navigateToRoute():
void _navigateToRoute() {
Navigator.of(context).push(new MaterialPageRoute<Null>(
builder: (BuildContext context) {
return new Scaffold(
body: new Text('A value with the word "Hello" should go here'),
);
},
));
}
当点击特定的 RaisedButton(例如,假设我们点击 ListView 中的第一个 RaisedButton,name = 'Hello'),我想将 name 变量传递给新路由。我怎么做?有没有办法将name 存储在context 变量中?我应该使用另一个小部件而不是 RaisedButton 吗?
我可以使用Named Navigator Route,但我不想为我的 ListView 中的每个项目硬编码路线。
我找到了this Github issue,但我不确定它是否与我遇到的相同。
【问题讨论】:
标签: listview button parameters parameter-passing flutter