listview - 如何通过 Flutter 中的 RaisedButton 传递/绑定(bind

我有一个 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 ,我不确定这是否与我遇到的相同。

最佳答案

您可以将名称作为输入传递给 onPressed 函数。 IE。

  new RaisedButton(
      onPressed: () => _navigateToRoute(name),
      child: new Text(name),
  ),

函数签名将是:

  void _navigateToRoute(String name)

关于listview - 如何通过 Flutter 中的 RaisedButton 传递/绑定(bind)值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46535249/

相关文章:

flutter - 键盘向上插入内容/调整屏幕大小

dart - Flutter - 通过滑动或按下 floatingActionButton 来展开

dart - 在 Flutter 中调用 showTimePicker() 时如何使用 24 小时制

firebase - Flutter如何使用Future返回值作为变量

Flutter - InheritedWidget - 处置

flutter - 如何在 flutter 中创建没有应用栏的标签栏?

dart - 如何在 Flutter 中保存图像文件?使用 Image_picker 插件选择的文件

flutter - 如何在 Flutter 的文本输入字段中配置自动大写行为?

build - 如何在 Flutter 中修复 "Gradle build failed to pr

sqlite - 如何在 Flutter 中使用 SQFlite 进行数据库查询