【问题标题】:What's wrong with this route ('Future' error)?这条路线有什么问题(“未来”错误)?
【发布时间】:2020-02-14 21:54:27
【问题描述】:

我是路由新手,收到错误“参数类型“Future”无法分配给参数类型“void Function()”。这有什么问题?

GestureDetector(
  onTap: Navigator.push(
    context,
    MaterialPageRoute(
      builder: (context) => ResultsPage();
    ),
  ),
),

ETA:它现在是这样工作的,这很棒:

GestureDetector(
            onTap: () {
              Navigator.push(context,
                  MaterialPageRoute(builder: (context) => ResultsPage()));
            },
            child: Container()

不过,我仍然对为什么我不能这样做感到困惑

GestureDetector(
            onTap: () {
              Navigator.push(context,
                  MaterialPageRoute(builder: (context) { 
                  return ResultsPage()));}
            },
            child: Container()

【问题讨论】:

    标签: function flutter dart routes future


    【解决方案1】:

    onTap接受函数,函数需要输入参数。

    GestureDetector(
      onTap: () => Navigator.push(
        context,
        MaterialPageRoute(
          builder: (context) => ResultsPage(),
        ),
      ),
    ),
    

    【讨论】:

    • 我终于得到了长版:{Navigator.push(context, MaterialPageRoute(builder: (context) {return ResultsPage();}));},那是一大堆圆括号!
    • 您可以使用=> 替代return,这样您就可以删除一对括号。
    猜你喜欢
    • 1970-01-01
    • 2012-10-20
    • 2011-04-15
    • 1970-01-01
    • 2014-10-07
    • 1970-01-01
    • 2014-11-26
    • 2016-05-08
    • 1970-01-01
    相关资源
    最近更新 更多